Please help -- by brain is fried...

I have three tables: groups, members, and a link table called group_members.

There is a record in group_members for each member that belongs to a given group.

A member may belong to several group.

I want to get a results set that shows all members where a given member, call him "Jim," also belongs.

Thus if Jim is a member of groups 1 and 3, Mary is a member of 3, and Bob belongs to 2 and 3, I want a results like the one below. I know how to get to this using an intermediate temporary table, but I'd like to vaid that if there's a way. The queries I have tried either give me all members in all groups, or only records where Jim is a member. My closest query follows, then a sketch of my tables with a results set at the end. Can someone please tell me where I an blowing it?

Thanks -

Dan Hansen


SELECT groups.name AS group_name, members.username AS username
FROM group_members
LEFT JOIN groups ON groups.id = group_members.group_id
AND group_members.member_id = 1 (This is Jim, it will be replaced by a variable in PHP code)
LEFT JOIN members ON members.id = group_members.member_id
ORDER BY groups.name




=======================
members
-----------------------
id   name
-----------------------
1    Jim
2    Mary
3    Bob

=======================
groups
-----------------------
id   name
-----------------------
1    Red
2    White
3    Blue

=======================
group_members
-----------------------
id   member_id  group_id
-----------------------
1    1          1
2    1          3
3    2          3
4    3          2
5    3          3

========================
DESIRED RESULT SET
------------------------
group_name   username
------------------------
Red          Jim
Blue         Jim
Blue         Mary
Blue         Bob

========================
DESIRED RESULT SET
------------------------
group_name   username
------------------------
Red          Jim
Blue         Jim
Blue         Mary
Blue         Bob (SHOULD NOT GET THIS ONE)
White        Bob


-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to