Rolf B: LEFT JOIN auf zwei Spalten

Beitrag lesen

Hallo Bernd,

du möchtest also, ausgehend von der Grunddaten-Tabelle, den Bereichsnamen des Senders und den Bereichsnamen des Empfängers haben. Diese stehen in zwei verschiedenen Rows der todo_bereich Tabelle. Deswegen musst Du zwei Zugriffe auf die todo_bereich Tabelle machen.

Du nennst keine Spaltennamen, ich verwende mal symbolisch bereich_name für dieses Dings rechts von der ID in todo_bereich.

Ich mache sowas mit zwei Joins, und zur Unterscheidung nehme ich Table Aliase.

SELECT s.bereich_name as Sender, e.bereich_name as Empfaenger
FROM todo_grunddaten g
     LEFT JOIN todo_bereich s ON g.bereichSender = s.tb_code
     LEFT JOIN todo_bereich e ON g.bereichEmpfaenger = e.tb_code

Mr. Subselect, a.k.a. dedlfix, würde es so machen:

SELECT (SELECT bereich_name FROM todo_bereich WHERE tb_code = bereichSender) as Sender,
       (SELECT bereich_name FROM todo_bereich WHERE tb_code = bereichEmfpaenger) as Empfaenger
FROM todo_grunddaten

Rolf

Edit: Verdammt, Dedlfix war 3 Minuten früher dran 😂

--
sumpsi - posui - clusi