求教一条有点难的SQL语句。
表A
ID1 ID2 Num1
1 2 3
1 4 5
1 3 6
表B
ID1 ID2 Num2
1 3 7
表C
ID1 ID2 Num3
1 3 8
1 4 2
表A、表B、表C的关键字都是ID1和ID2。
得到结果:
ID1 ID2 Num1 Num2 Num3
1 2 3
1 4 5 2
1 3 6 7 8
------解决方案--------------------select a.id1,a.id2,num1,num2,num3 from A Left Join B on a.id1=b.id1 and a.id2=b.id2 Left Join C on a.id1=c.id1 and a.id2=c.id2
------解决方案--------------------慢了
------解决方案--------------------樓主的舉例不正確,不過你的要求應該是要改用Full Join來實現。
稍稍修改即可
Select
Coalesce(A.ID1, B.ID1, C.ID1) As ID1,
Coalesce(A.ID2, B.ID2, C.ID2) As ID2,
Num1,
Num2,
Num3
From
A
Full Join
B
On
A.ID1 = B.ID1 And A.ID2 = B.ID2
Full Join
C
On
A.ID1 = C.ID1 And A.ID2 = C.ID2