2017-06-05 2 views
0

Die Haupttabelle möchte zwei Mal mit der Reffrence-Tabelle zweimal mit der gleichen Spalte verbinden. Die Haupttabellenspalte wird mit Integer eingefügt und muss mit der Refferenztabelle verknüpft werden, damit das Zeichen für den Benutzer zurück angezeigt wird. es keine der Datensätze von der Sql unten zeigen, warum?Linke verbinden Sie die gleiche Tabelle zweimal, aber eine Spalte ist wiederholen

Haupttabelle BD_BRAND

Sports_BR Leather_BR 
    2   1 

Reffrence Tisch BD_REF

ID NME   REF_TYPE 
1 NIKE  Sports_Brand 
2 ADIDAS Sports_Brand 
3 PUMA  Sports_Brand 
1 CLACKS Leather_Brand 
2 LOTTUSSE Leather_Brand 
3 CHEANEY Leather_Brand 





    SELECT B.NME AS Sports_BR, C.NME AS Leather_BR 
    FROM BD_BRAND A 
    LEFT JOIN BD_REF B on B.ID = A.Sports_BR 
    LEFT JOIN BD_REF C on C.ID = A.Leather_BR 

Das Ergebnis möchte ich wie folgt:

Sports_BR Leather_BR 
ADIDAS  CLACKS 
+0

Sie haben 'BD_BRAND' (' A'-Alias) nicht mit irgendetwas verbunden. Könnte das das Problem sein? –

+0

@BobJarvis Ich habe die Frage bearbeiten, ich habe die falsche beitreten. –

+0

@BobJarvis Leather_BR ist 4, ich bearbeite es einfach. –

Antwort

1

Ich glaube, du bist:

SELECT B.NME AS Sports_BR, C.NME AS Leather_BR 
FROM BD_BRAND A 
LEFT JOIN BD_REF B on B.ID = A.Sports_BR and B.REF_TYPE = 'Sports_Brand' 
LEFT JOIN BD_REF C on C.ID = A.Leather_BR and B.REF_TYPE = 'Leather_Brand' 

Ihre IDs sind aufgrund der unterschiedlichen Referenztypen mehrfach vorhanden, daher müssen Sie angeben, welche ID nach dem Referenztyp ausgewählt werden soll.

+0

@AndrewMadMan Froh ich könnte helfen :) – Aquillo

Verwandte Themen