2016-07-25 141 views
1

我試圖連接兩個SQL表中的一行SQL連接 - 結果單列

表1

id  | num | value  (Values can be 'N' number) 
------ | ------ | ------ 
X  | 1  | ZA 
X  | 2  | Z1 

表2

id  | num | num2 
------ | ------ | ------ 
X  | 1  | 2 

Joing表得到的結果1和表2

我得到了:

id  | num | value | num | value 
------ | ------ | ------ | ------ | ------ 
X  | 1  | ZA  | 2  | null 
X  | 1  | null | 2  | Z1 

預期結果:

id  | num | value | num | value 
------ | ------ | ------ | ------ | ------ 
X  | 1  | ZA  | 2  | Z1 

我怎麼能這樣做?

+3

您需要詳細說明一下,並提供您的查詢。 – scsimon

+0

你應該使用聚合和GROUP BY,但對於@ scsimon的觀點,你沒有提供足夠的細節來告訴你如何。摺疊不同值的規則有哪些,哪些先例等? –

回答

2
Select t1.id, t1a.num, t1a.value, t1b.num, t1b.value 
from table2 t2 
left join table1 t1a on t2.num = t1a.num 
left join table1 t1b on t2.num2 = t1b.num 
+1

我會在'id'列上加上相等的;這似乎是對問題的合理解釋。 –

+0

感謝您的回答Hogan :) – NewKid