2013-08-05 22 views
5

私は2つのテーブルTransactionとMasterを持っています。トランザクションテーブルには、アクティビティIDのfromとtoが表示されます。マスターには、アクティビティIDと名前が表示されます。 fromとtoのIDは、同じマスター表を使用して、アクティビティーIDと名前を関連付けます。私がしたいのは、値をfromとtoにして、関連する名前で表示することです。SQL構文の複数の結合?

元のクエリた

select distinct a.from, a.to from Transaction a 

何が必要なのa.fromが、私は私が持っていることを知っているb.name

が続いているb.nameとa.toが続いているものです結合がありますが、別々のa.valuesのそれぞれに適用するには結合が必要です。

概念では、a.valuesのそれぞれで1つずつ2つの結合を行いたいと思いますが、fromとvalueをどのように記述するかはわかりません。

+1

マスターテーブルに2回参加してください。例:http://stackoverflow.com/a/4267979/12601 – Greg

+0

各テーブルの3列、およびクエリの出力の例を含む簡単な例を追加できますか? – user1676075

答えて

7
select distinct a.from, f.name as FromName, a.to, t.name as ToName 
from Transaction a 
join Master F on a.from = f.id 
join Master T on a.to = f.id 
+0

これはGregも提案したものです。同じテーブルに2つの別名を付けることによって、2つのフィールドを互いに独立して参加させることができます。助けてくれた皆様に感謝します。 –