Join af tre tabeller, og returnering af bestemte rækker
Hej Folkens,Jeg har et problem jeg har tumlet med et par dage, jeg ved det kan lade sig gøre, men jeg kan ikke lige regne den ud.
Først et par tabeller:
tbl_user:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| username | varchar(255) | | | | |
| password | varchar(255) | | | | |
+----------+--------------+------+-----+---------+----------------+
tbl_userGroup:
+---------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------+------+-----+---------+-------+
| userId | int(11) | | PRI | 0 | |
| groupId | int(11) | | PRI | 0 | |
+---------+---------+------+-----+---------+-------+
tbl_group:
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| name | varchar(255) | | | | |
+-------+--------------+------+-----+---------+----------------+
Dernæst lidt data:
tbl_user:
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | user1 | pass |
| 2 | user2 | pass |
+----+----------+----------+
tbl_userGroup:
+--------+---------+
| userId | groupId |
+--------+---------+
| 1 | 1 |
| 1 | 3 |
| 2 | 2 |
+--------+---------+
tbl_group:
+----+---------+
| id | name |
+----+---------+
| 1 | Group 1 |
| 2 | Group 2 |
| 3 | Group 3 |
+----+---------+
Lige for at være på den sikre side, så er der altså en mange->mange forbindelse mellem brugere og grupper.
Og så spørgsmålet:
- Brugeren med id=1 er medlem af grupperne med id=1 og id=3 - hvordan laver jeg en sætning der giver mig de grupper som brugeren IKKE er medlem af?
Venligst,
-- Brian