2017-11-13 6 views
0

私は2つのテーブルを持っています。2番目のテーブルからデータを取得する

表1は

ラフ表2に

ID int 
FromAddress int 
ToAddress int 

表2は、2つのテーブル間の接続がFromAddressを、ToAdressに基づいている

ID int 
ZipCode int 

ような列を有する(表1から)及びIDのような列を有していますデータは表1と同様です。

ID  FROMAddress ToAddress 
1  500   620 

Roughdataは私が

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 

のようなクエリを実行しようとしました出力

ID  FromZipCode  ToZipCode 
1  69999   6501 

ようにしたい
ID  ZipCode 
500 69999 
620 6501 

表2

に似ていますが、これは私に何の結果を与えません。

+1

は二回表2に参加します。 – jarlh

+0

@jarlh私は方法を見つけることができませんでした:( – Happy

答えて

1

次のように試してみてください、あなたは二回JOINする必要があります:

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

このクエリのためにありがとうございました。 – Happy

0

あなたがご希望のデータを取得するために二回のテーブルを結合することができます。

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 
関連する問題