2017-05-22 19 views
0

私は昨日質問をして、値A、B、C、Dを持つテーブルに質問をしたところ、別のテーブルDemo2に値C、Dを持っていました。結合を使用します。結果2つの結合SQLサーバー

どうすればよいですか?私は試しましたが、解決策を見つけることができませんでした。

Create table Demo1(ID char(1)) 
Insert into Demo1 
select 'A' 
Insert into Demo1 
select 'B' 
Insert into Demo1 
select 'C' 
Insert into Demo1 
select 'D' 

Create table Demo2(ID char(1)) 
Insert into Demo2 
select 'A' 
Insert into Demo2 
select 'B' 
+1

あなた 'Demo2'の表は、A&Bを持っていますが、問題はそれがC&Dを、持っていなければならないと言います正しい?また、結果を得るために何をしようとしましたか?問題を解決するためにあなたの試みを示す方がはるかに良いでしょう。 – ollie

答えて

1

一度単純なアプローチでは、共通の価値観が

SELECT * FROM Demo1 INNER JOIN Demo2 ON Demo1.ID = Demo2.ID 

を使用したい場合は

Select D1.* 
From Demo1 D1 
Left Join Demo2 D2 on D1.ID=D2.ID 
Where D2.ID is null 

戻り

ID 
C 
D 
+1

ありがとうございます。とった。レッスンは学習しました... – user3442289

+0

@ user3442289傾けはプロセスです。ちょうどそれを保つと私はSOを見てお勧めします。私は毎日何か新しいことを学びます。 –

0

のJOIN LEFT経由でBから欠けているAの値を使用する場合は、

SELECT * FROM Demo1 FULL OUTER JOIN Demo2 ON Demo1.ID = Demo2.ID WHERE demo2.ID IS NULL 
0

Inner Joinは両方のテーブルに存在するレコードを返します。

SELECT * FROM Demo1 INNER JOIN Demo2 ON Demo1.ID = Demo2.ID 
Result: 
C 
D 

Outterはデモに存在するもので返しますDEMO1からすべてのレコードに参加2.

SELECT D1.ID as D1, D2.ID as D2 FROM Demo1 D1 FULL OUTER JOIN Demo2 D2 ON D1.ID = D2.ID 
Result: 
A, NULL 
B, NULL 
C, C 
D, D 
関連する問題