2017-11-13 4 views
0

Ich habe 2 Tabellen.Daten von der zweiten Tabelle erhalten

Table1 hat Spalten wie

ID int 
FromAddress int 
ToAddress int 

Table2 hat Spalten wie

ID int 
ZipCode int 

Die Verbindung zwischen zwei Tabellen basiert auf Absenderadresse, ToAdress (aus Tabelle 1) und ID in table2

Raue Daten sind wie in Tabelle 1

ID  FROMAddress ToAddress 
1  500   620 

Roughdata ist wie in Tabelle 2

ID  ZipCode 
500 69999 
620 6501 

Ich möchte eine Ausgabe wie

ID  FromZipCode  ToZipCode 
1  69999   6501 

Ich versuchte Abfrage zu tun, wie

Select T1.ID, T2.ZipCode as FromZipCode, T2.ZipCode as ToZipCode 
From Table1 T1 join Table2 T2 on T1.FromAddress = T1.ID and T1.ToAddress = T2.ID 

Aber das gibt mir kein Ergebnis.

+1

JOIN zweimal table2. – jarlh

+0

@jarlh ich konnte Weg nicht finden :( – Happy

Antwort

1

wie diese versuchen, müssen Sie JOIN zweimal:

Select T1.ID 
    ,T2.ZipCode as FromZipCode 
    ,T22.ZipCode as ToZipCode 
From Table1 T1 
join Table2 T2 
    on T1.FromAddress = T2.ID -- first JOIN to get the info for FromAddress 
join Table2 T22 
    on T1.ToAddress = T22.ID -- second JOIN to get the info for ToAddress 
+0

Vielen Dank für diese Abfrage. Es hat funktioniert – Happy

0

Sie die Tabelle zweimal beitreten können, um Ihre gewünschten Daten zu erhalten:

SELECT T1.ID, 
     T2.ZipCode AS FromZipCode, 
     TT2.ZipCode AS ToZipCode --From the second Table2 (TT2) 
From Table1 T1 JOIN Table2 T2 ON T1.FromAddress = T1.ID 
    JOIN Table2 TT2 ON T1.ToAddress = TT2.ID --Join Table2 for the second time with another alias 
Verwandte Themen