2016-09-06 9 views
1

私はSQLに慣れていないので、これを進める方法についての手掛かりはありません。私は次のことを取得したい使用するMicrosoft SQLの内容

A S D1 
B S E2 

表1:

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

表2私は、次のタイプのデータで約70,000行を持つ2つの巨大なテーブルをそれぞれ持っている

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

に私はあなたが2つのクエリが必要だと思う:

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ではなく、一致した行だけを返してくれると思います。 –

関連する問題