Ilja: Postgres Abfrage Problem

Beitrag lesen

moin,

Nun möchte ich ein Abfrage, die mir anhand der userid (zB 1 oder 2) anzeigt, welche rollen verteilt wurden oder noch nicht verteilt wurden. Bei userid 1 sollte als ergebnis kommen:

kannst du mit einer abfrage machen, indem du einen OUTER JOIN einsetzt. deine vorgabe ist, du willst eh alle rolle haben, unabhängig oder user sie hat oder nicht. also fägnst du mit der tabelle an.

SELECT r.id, r.name
FROM role r
;

dann bindest du die user über einen OUTER JOIN mit ein.

SELECT r.id, r.name, ru.fk_user
FROM role r
LEFT JOIN role2user ru ON ru.fk_role = r.id AND ru.fk_user = 1
;

bei allen datensätzen, wo ru.fk_user nicht NULL, sondern 1 ist, diese rolle hat her und analog dazu, wo das Feld NULL ist, die hat er nicht.

Ilja