fremdschlüssel ist NULL
tres
- datenbank
Hi, ich habe folgendes Problem:
Tabelle 1
---------
ID
tab2_ID
Tabelle 2
---------
ID
Feld
Ich möchte nun folgendes resultset erhalten:
Resultset
----------
tab1.ID
tab2.Feld
Die beiden sind ja über den Fremdschlüssel verbunden. ISt allerdings tab2_ID = 0 oder NULL, sollte der Eintrag trotzdem angezeigt werden, einfach mit dem Wert bei tab2.Feld: KEIN FELD
Wie geht das?
Die beiden sind ja über den Fremdschlüssel verbunden. ISt allerdings tab2_ID = 0 oder NULL, sollte der Eintrag trotzdem angezeigt werden, einfach mit dem Wert bei tab2.Feld: KEIN FELD
Soweit ich weiß, muss man dafür einen OUTER JOIN (liefert auch ein Ergebnis, wenn die Bedingung von einer Seite nicht erfüllt wird) verwenden, wenn dir das weiter hilft. Genaueres weiß ich leider selber nicht.
lg Gerhard
Tag tres.
Resultset
tab1.ID
tab2.Feld
Die beiden sind ja über den Fremdschlüssel verbunden. ISt allerdings tab2_ID = 0 oder NULL, sollte der Eintrag trotzdem angezeigt werden, einfach mit dem Wert bei tab2.Feld: KEIN FELD
Welche Datenbankversion verwendest du? Für mySQL wäre LEFT JOIN die richtige Wahl:
SELECT tab1.ID AS Tabellenindex, tab2.Feld AS Feldwert
FROM tab1 LEFT JOIN tab2
ON tab1.tab2_ID = tab2.ID
So in etwa müsste es funktionieren. Du könntest auch LEFT OUTER JOIN schreiben, das ist aber (wenn ich das Manual richtig verstehe) nur aus Kompatibilitätsgründen nötig.
Siechfred
Hi,
du hast die Antwort schon bekommen (Stichwort LEFT JOIN), aber ich will trotzdem noch auf unsere Artikel im Beta-Stadium hinweisen:
Einführung Joins
Fortgeschrittene Join Techniken
MfG
Rouven
Tag Rouven.
Sehr schön. Wann ist denn mit der Endfassung zu rechnen?
Siechfred
Hi Siechfried,
Sehr schön. Wann ist denn mit der Endfassung zu rechnen?
Keine Ahnung, der Redaktionsprozess hängt *g*. Es gibt schon seit längerem neuere Versionen...
MfG
Rouven