2016-07-28 18 views
1

Ich habe 2 Tabellen: Transfers und Outlets in den folgenden Strukturen.Abrufen von Daten mit Joins

Transfers Tabelle

TransID | FromOutlet | ToOutlet 
--------| -----------| ---------- 
T001 | 111  | 222 

Outlet Tabelle

OutletCode | OutletDesc 
-----------|------------ 
111  |ABC 
222  |XYZ 

möchte ich die Ausgabe wie folgt.

TransId | FromOutlet | ToOutlet 
--------|------------|---------- 
T001 | ABC  | XYZ 

Ich verwendete unten Abfrage, um Daten abzurufen. Aber, anstatt verschiedene Verkaufsstellen zu bekommen, habe ich den gleichen Verkaufsstellennamen für beide Spalten.

SELECT 
    ISNULL(Transfers.TransID,'') AS 'TransId', 
    ISNULL(Transfers.FromOutlet,'') AS 'outletFrom' , 
    ISNULL(Outlet.OutletDesc,'') AS 'Outlets', 
    ISNULL(Transfers.TOOutlet,'') AS 'outletTO', 
    ISNULL(Outlet.OutletDesc,'') AS 'Outlets' 


FROM Transfers INNER JOIN Outlet ON 
    Transfers.FromOutlet = Outlet.OutletCode 

WHERE (Transfers.TransID = 'T001') 

Antwort

1

Sie müssen zweimal die Outlet Tabelle verbinden - einmal für FromOutleft und einmal für ToOutlet:

SELECT TransID, 
     FromOutlet, 
     F.OutletDesc AS 'Outlets', 
     TOOutlet, 
     T.OutletDesc AS 'Outlets' 
FROM Transfers 
INNER JOIN Outlet F ON Transfers.FromOutlet = F.OutletCode 
INNER JOIN Outlet T ON Transfers.ToOutlet = T.OutletCode 

WHERE TransID = 'T001' 
+0

Thankyou. Es funktionierte. –

+0

Gut zu helfen :-) –

+0

Ein weiteres kleines Problem. Zeilen werden dupliziert.Wie kann ich doppelte Zeilen entfernen? –