>>>> 2011/03/15 17:51 -0500, LAMP >>>>
Let's say there is a table orders (simplified, of course)
CREATE TABLE orders (
item_id int,
org_id int,
) ENGINE=MyISAM
....
Need to select all (distinct) org_id they have item_id 34, 36, 58 and
63. All of them, not only some of them.
Result is org_id=2607 and org_id=1520
I can have it by
select org_id
from orders
where item_id in (34, 36, 58, 63)
group by org_id
having count(org_id)=4
<<<<<<<<
I now noticed the aggregate function GROUP_CONCAT:
select org_id,GROUP_CONCAT(DISTINCT item_id, ORDER BY item_id) AS itemset
from orders
where item_id in (34, 36, 58, 63)
group by org_id
having itemset = '34,36,58,63'