2016-09-06 54 views
1

我不知道如何繼續進行此操作,因爲我是SQL新手。我有兩個巨大的每個表與以下類型的數據約70000行:什麼是Microsoft SQL加入使用

表1:

A S D1 
A S D2 
A S D3 
B S C 
B S E1 
B S E2 

表2:

A S D1 
B S E2 

我希望得到以下幾點:

A S D1 
B S C 
B S E2 

編輯: 我需要所有的數據是表1和d 2.我還需要從表1中丟棄,數據橫跨列1和2的比賽,但不能在第3列

+1

是否有任何條件得到上面的數據?使用INNER JOIN,您可以獲得A S D1和B S E2。但是B S C呢? –

+0

在編輯中爲您的評論添加了答案。 – Zanam

+0

請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢?noredirect = 1#comment391934_333952 – Strawberry

回答

1

我想你需要兩個查詢:

SELECT TABLE1.A,TABLE1.B,TABLE1.C 
from TABLE1 inner join TABLE2 on TABLE1.A = TABLE2.A and TABLE1.B = TABLE2.B and TABLE1.C = TABLE2.C  

- 在路口

SELECT TABLE1.A,TABLE1.B,TABLE1.C 
from TABLE1 inner join TABLE2 on TABLE1.A = TABLE2.A and TABLE1.B = TABLE2.B 
WHERE TABLE1.C <> TABLE2.C 

- 爲丟棄

+0

我想,你的查詢只會返回匹配的行,而不是B S C. –