JOIN mit drei Tabellen und Mehrfachverwendung FK

Lord Luxor

Neuer Benutzer
Beiträge
4
Hallo,
ich habe eine Frage zu einer JOIN Abfrage. Bin jetzt nicht so der SQL-Experte. Ich habe drei Tabellen die ich miteinander verknüpft habe.
Vereinfachte Darstellung:

Tabelle IC
id, bezeichnung, integrity, confidential, senstype

Tabelle SB
id, sb_kategorie

Tabelle SI
id, bezeichnung

ic.integrity und ic.confidential sind mittels FK an die id aus Tabelle DB verknüpft.
ic.senstype mittels FK an id aus Tabelle SI.

Jetzt möchte ich eine Abfrage, die mir die entsprechenden Werte aus sb.sb_kategorie für ic.integrity und ic.confidential ausgibt.

SELECT ic.* , sb.sb_kategorie, si.bezeichnung FROM ic
LEFT JOIN sb ON (ic.integrity = sb.id OR ic.confidential = sb.id)
LEFT JOIN si ON (ic.senstype = si.id)

Das funktioniert so natürlich nicht, weil er nur einmal einen Wert sb.sb_kategorie auswirft.
Ich komme nur nicht darauf, wie ich den Wert zweimal in der Abfrage auswerfen lassen kann, einmal für ic.integrity und einmal für ic.confidential.

Vielleicht kann mir jemand auf die Sprünge helfen?

Danke

Bye
Markus
 
Werbung:
Manchmal kommt man selbst drauf :)

SELECT ic.* , sbi.sb_kategorie, sbc.sb_kategorie, si.bezeichnung FROM ic
LEFT JOIN sb AS sbi ON (ic.integrity = sbi.id)
LEFT JOIN sb AS sbc ON (ic.confidential = sbc.id)
LEFT JOIN si ON (ic.senstype = si.id)

Kam ich aber nur drauf, weil einer in YT über einen SELF JOIN erzählt hatte.

Bye
Markus
 
Zurück
Oben