Problem mit Join-Statement 3er Tabellen

Hallo,
mich plagt folgendes Problem zu (vermutlich) einem Join-Statement.
Und zwar hab ich folgende Tabellen:

http://img23.imageshack.us/img23/7461/datenbank.jpg

Was ich nun nicht hinbekomme ist, alle tbl_right Einträge zu bekommen,
die NICHT einer bekannten tbl_role.id zugewiesen sind.

Z.B. Habe ich die role.id s 1 und 2 und die right.id s 1, 2, 3, 4 und 5.
Der Rolle 1 sind die Rights 1, 2 und 3 zugewiesen.
Der Rolle 2 sind die Rights 2, 4 und 5 zugewiesen.
Die right ids die ich dann von der Rolle 1 brauche sind: 4 und 5, da diese right ids existieren, aber nicht der Rolle 1 zugewiesen sind.
Die right ids die ich dann von der Rolle 2 brauche sind: 1 und 3, da diese right ids existieren, aber nicht der Rolle 2 zugewiesen sind

Ich sitz da nun schon mehrere Stunden dran, aber trete nur auf der stelle.

Wär echt super, wenn ihr mir helfen könntet.

MfG Head

Das scheinen Screenshots von phpMyAdmin zu sein und von daher MySQL. Hier geht es aber um PostgreSQL. Ich würde sagen: falsches Forum.

Zur Lösung des Problems brauchst Du einen Outer Join (keinen Inner Join) und eine Abfrage auf NULL.

Verschoben ins richtige Forum…

Hab die Lösung schon gefunden, trotzdem danke :slight_smile:

SELECT * FROM tbl_roles rol, tbl_rights rgt
WHERE rgt.id NOT IN (
SELECT rel.rights_id FROM rel_rights2roles rel
WHERE rel.roles_id = rol.id)