Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

SQL - Ausgabe Datensatz auch wenn in Join-Tabelle kein Eintrag

RStp / 8 Antworten / Flachansicht Nickles

Folgendes Problem : Ich habe 2 Tabellen und muss diese per Join verbinden, da in meiner Ausgabe die Masterdaten aus Tabelle 1 kommen und die Detaildaten aus Tabelle 2. Problem ist, es gibt auch Masterdaten ohne Details, die mir aber bei einem Join nicht mit angezeigt werden. Aber genau das möchte ich auch ! Habt Ihr eine Lösung ???

Beispiel :

select tabelle1.id, tabelle2.beschreibung
from tabelle1, tabelle2
where tabelle1.id = tabelle2.id;

bei Antwort benachrichtigen
RStp thomas woelfer „ich vermute, das tab1 und tab2 zumindest noch eine id spalte haben, richtig? -...“
Optionen

Nein, weil ich ja auch nicht die Ausgabe von "B" in dem Falle sehe. Aber wir haben soeben eine Lösung gefunden, Du musst einen Outer-Join machen ! Wie folgt :

select tabelle1.id, tabelle2.details
from tabelle1, tabelle2
where tabelle1.id = tabelle2.id(+)

Das Plus-Zeichen in Klammern hinter dem Wert tabelle2.id verursacht, dass wenn in tabelle2 kein Eintrag ist, trotzdem die Daten aus Tabelle1 angezeigt werden !

bei Antwort benachrichtigen