2014-09-05 96 views
1

我有兩個表如下SQL服務器:加入一個表中的兩列到另一個參考表中的列

表1

ID Result ProductId1 ProductId2 
10 Pass 1   2 
22 Failed 3   4 

表2

Id Name 
1 ABC 
2 DEF 
3 GHI 
4 JKL 

如何加入表得到這個結果表:

結果

ID Result Name1 Name2 
10 Pass ABC DEF 
20 Failed GHI JKL 

我正在使用SQL Server。

+0

身份證只能與2件產品相關聯,或者可能有3件? – 2014-09-05 23:28:16

+0

只有兩列Product1和Product2 – Cannon 2014-09-05 23:29:44

+0

are productid1和productid2總是填充? productid2可能是空的? – 2014-09-05 23:34:26

回答

4

你想加入到參考表兩次:

select t1.id, t2.result, t21.name as name1, t21.name as name2 
from table1 t1 join 
    table2 t21 
    on t1.productid1 = t21.id join 
    table2 t22 
    on t1.productid2 = t22.id; 

注意from子句中使用表別名的兩個表之間的區別。

+0

謝謝。這工作。 – Cannon 2014-09-05 23:34:15