[MySQL] Alle Gruppen auslesen, bei denen ein definierter User nicht ist

mistertwisters

Grünschnabel
Hallo zusammen

Ich möchte mir gerne alle Gruppen anzeigen lassen, in denen ein User nicht ist. Leider ist mein Wissensstand noch nicht so ausgeprägt. Ich würde mich über einen Tipp freuen.

Ich habe folgende 3 Tabellen
Code:
#user

user_id | user_name
1       | tester
2       | tester2
Code:
#groups

group_id | group_name
1        | gruppe 1
2        | gruppe 2
3        | gruppe 3
Code:
#user_groups

group_id | user_id
1        | 2
2        | 1

Jetzt möchte ich bespielsweise alle Gruppen auflisten bei denen der User "tester" nicht ist:
Code:
group_id | group_name
1        | gruppe 1
3        | gruppe 3

Danke für eure Zeit.
 
Am besten mit einer Unterabfrage. Darin wählst du jede group_id aus die der User hat. Dann kann man mit NOT IN vergleichen
SQL:
SELECT
	group_id,
	group_name
FROM
	groups
WHERE
	NOT group_id NOT IN (	SELECT 
								group_id 
							FROM
								user_groups 
							WHERE 
								user_id=1)
 
Zuletzt bearbeitet von einem Moderator:
Zurück