Elwood
Naiver Mutmaßlicher
Moin,
irgendwie hab ich nen Knoten im Kopf. Ich versuche mittels Selbstverknüpfung aus 2 Tabellen je eine Ausgabezeile (siehe Auto in diesem Beispiel) zu generieren. Das funktioniert soweit gut, nur dann nicht, wenn in der selbstverknüpften Tabelle eine Datenreihe in einem der JOINs nicht existiert.
Da die Daten in der 2. Tabelle optional sind, kann ich nicht mit der Existenz von F2.Wert rechnen!
Wie kann man in diesem Fall die erste WHERE Klausel anpassen, dass zumindest der F2.Wert und der Rest der 1. Tabelle ausgegeben werden?
Dies ist nur ein Beispiel, die richtige Abfrage ist ein wenig zu Prall, um mein Problem hier zu verdeutlichen (hoffentlich hab ich kein Mistbock in den Beispiel gehackt )
Ich habe schon mit ISNULL, HAVING etc rumgespielt, aber keinen Erfolg gehabt.
Vielleicht gibt es hier nen SQL Crack, der da fitter ist als ich
irgendwie hab ich nen Knoten im Kopf. Ich versuche mittels Selbstverknüpfung aus 2 Tabellen je eine Ausgabezeile (siehe Auto in diesem Beispiel) zu generieren. Das funktioniert soweit gut, nur dann nicht, wenn in der selbstverknüpften Tabelle eine Datenreihe in einem der JOINs nicht existiert.
Da die Daten in der 2. Tabelle optional sind, kann ich nicht mit der Existenz von F2.Wert rechnen!
Wie kann man in diesem Fall die erste WHERE Klausel anpassen, dass zumindest der F2.Wert und der Rest der 1. Tabelle ausgegeben werden?
Code:
Tabelle Auto
Nr Typ
1 Audi
2 BMW
3 VW
Tabelle Features
Auto Key Wert
1 1 5 // Key 1: Anzahl der Türen = 5 beim Audi
1 2 4 // Key 2: Anzahl der Räder = 4 beim Audi
// Key 1: fehlt beim BMW
2 2 4 // Key 2: Anzahl der Räder = 4 beim BMW
3 1 7 // Key 1: Anzahl der Türen = 7 beim VW
3 2 4 // Key 2: Anazhl der Räder = 4 beim VW
SELECT Auto.Typ, F1.Wert AS Tueren, F2.Wert AS Raeder
FROM Auto INNER JOIN
Features F1 ON Auto.Typ = F1.Auto INNER JOIN
Features F2 ON Auto.Typ = F2.Auto
WHERE F1.Key=1 AND F2.Key=2
Dies ist nur ein Beispiel, die richtige Abfrage ist ein wenig zu Prall, um mein Problem hier zu verdeutlichen (hoffentlich hab ich kein Mistbock in den Beispiel gehackt )
Ich habe schon mit ISNULL, HAVING etc rumgespielt, aber keinen Erfolg gehabt.
Vielleicht gibt es hier nen SQL Crack, der da fitter ist als ich