Hallo,
Ich stehe gerade wieder kurz auf Kriegsfuß mit den JOINs.
Simplifiziert möchte ich ausgehend von 2 Tabellen ( Sprachen, Produkte ) eine Übersicht aller Bezeichnungen eines Produkt haben.
Existiert bisher kein Eintrag für die Sprache am Produkt, soll dennoch die Sprache mit Produktbezeichung NULL angezeigt werden.
Ein Beispiel:
Sprachen hat die Spalten: Sprache, Bezeichnung ( in Sprache steht der ISO-Code )
Produkte hat die Spalten: Artikelnummer, Sprache, Bezeichnung ( Sprache ist hier wieder der ISO-Code )
In der Tabelle Produkte sind nur die gepflegten Sprachen enthalten. Wenn bspw. für IT bisher nichts angelegt wurde, gibt es dazu auch keinen Eintrag in Produkte.
Ich möchte jetzt eigentlich nur, wenn ich mir eine Artikelnummer ansehe alle Sprachen aus der Tabelle Sprachen mit dem entsprechenden Titel aus der Tabelle Produkte anzeigen lassen.
Ist ein Produkt in einer Sprache nicht gepflegt, bspw. wie erwähnt für IT, dann soll an der Stelle die Produktbezeichnung mit NULL ausgewertet werden.
Letzter Stand meiner Query sieht schematisch so aus:
Verschieden JOIN-Typen habe ich ausprobiert, was merkwürdiger Weise rein gar nichts an dem Ergebnis geändert hat?! ( Hätte vermutet, dass ein JOIN oder FULL OUTER JOIN eine andere Ergebnismenge liefert )
Es werden mir aber nur die Sprachen/Bezeichnungen angezeigt, die in Produkte gepflegt sind.
Bräuchte mal jemanden, der mich auf meinen Gedankenfehler hinweist und in die richtige Richtung wirft.
DBMS ist MSSQL Server!
Danke
Ich stehe gerade wieder kurz auf Kriegsfuß mit den JOINs.
Simplifiziert möchte ich ausgehend von 2 Tabellen ( Sprachen, Produkte ) eine Übersicht aller Bezeichnungen eines Produkt haben.
Existiert bisher kein Eintrag für die Sprache am Produkt, soll dennoch die Sprache mit Produktbezeichung NULL angezeigt werden.
Ein Beispiel:
Sprachen hat die Spalten: Sprache, Bezeichnung ( in Sprache steht der ISO-Code )
Produkte hat die Spalten: Artikelnummer, Sprache, Bezeichnung ( Sprache ist hier wieder der ISO-Code )
In der Tabelle Produkte sind nur die gepflegten Sprachen enthalten. Wenn bspw. für IT bisher nichts angelegt wurde, gibt es dazu auch keinen Eintrag in Produkte.
Ich möchte jetzt eigentlich nur, wenn ich mir eine Artikelnummer ansehe alle Sprachen aus der Tabelle Sprachen mit dem entsprechenden Titel aus der Tabelle Produkte anzeigen lassen.
Ist ein Produkt in einer Sprache nicht gepflegt, bspw. wie erwähnt für IT, dann soll an der Stelle die Produktbezeichnung mit NULL ausgewertet werden.
Letzter Stand meiner Query sieht schematisch so aus:
Code:
select Sprache = s.Bezeichnung, Bezeichnung = p.Bezeichnung from Sprachen s left join Produkte p on p.Sprache = s.Sprache where p.Artikelnummer = 'foobar'
Es werden mir aber nur die Sprachen/Bezeichnungen angezeigt, die in Produkte gepflegt sind.
Bräuchte mal jemanden, der mich auf meinen Gedankenfehler hinweist und in die richtige Richtung wirft.
DBMS ist MSSQL Server!
Danke
Kommentar