Hello,

I am trying to find out how to search a many-to-many map table efficiently.

I have an example table:

user,user_group
1,1
1,2
2,1
3,2

I want to find out all the users who are a member of BOTH groups 1 AND 2. In 
this example, this would just be the user with id 1.

Until now, I can either do this with multiple queries and using PHP 
array_intersect, or one really ugly MySQL query:

select user, count(user_group) as num_groups_found from users_groups where 
group IN (1,2) GROUP BY user HAVING num_groups_found=2

i.e. narrows down the groups I'm looking for and makes sure that they are 
all found for a user

It works quite reliably I think but it's such a rubbish query that I was 
hoping that somebody could teach me some syntax that is better.

Many thanks in advance,
Steve

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to