Hi - I've got an annoying problem here, I've checked books, web,
archives, etc, but can't find anything suitable so far.

I have 2 data tables (ignoring the other columns, not important) :

+--------+
|   user |
+--------+
| userid |
+--------+

+--------+
|   list |
+--------+
| listid |
+--------+

and a joining table :

+----------+
| userlist |
+----------+
|   listid |
|   userid |
+----------+

As you can see, users can belong to many lists, lists can contain many
users.

I need to find, for each user, whether they are a member of list n :

+--------+--------------+
| userid | memberoflist |
+--------+--------------+
|      1 |         true |
|      2 |        false |
|      3 |         true |
|      4 |        false |
+--------+--------------+

It seems simple, but I've been banging my head against this all
weekend. When I break it down, I need to find 3 things :

Users that are members :

SELECT user.userid FROM user, userlist WHERE listid=1 AND
user.userid=userlist.userid

Users that belong to NO lists :

SELECT user.userid FROM user LEFT JOIN userlist ON
user.userid=userlist.userid WHERE listid IS NULL

Users that belong to some lists, but not the one I'm interested in :
this is the one that I'm stuck on. Any thoughts? Suggestions?

djo


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to