1

SQL クエリで問題に直面しています

私は2つのテーブルを持っています:

テーブル 1

ID Number
1  100
2  200
3  300
4  400
5  500
6  600
7  700
8  800
9  900

テーブル 2

ID Someotherdata
1  100
2  200
3  300
4  400
5  500

クエリしてみた

Select one.ID,one.Number
from table1 one
Left Outer Join
table2 two
on one.ID=two.id

結果が欲しい

6  600
7  700
8  800
9  900
4

3 に答える 3

1

使用except:

Select one.ID,one.Number
from table1 one
except
(Select one.ID,one.Number
from table1 one
inner join
table2 two
on one.ID=two.id)

テストする SQL フィドル

編集(OPリクエストあり)

SELECT table1.id, table1.number FROM table1
LEFT JOIN table2 on table2.id = table1.id
WHERE table2.id  IS NULL

テスト用の SQL Fidle は次のとおりです。

于 2013-04-15T04:52:58.043 に答える
0
Select one.ID,one.Number
from table1 one
Where not in(Select two.ID From Table2 two) 
于 2013-04-15T04:59:21.507 に答える
0

私が見たところ、対応する ID を持つ 2 つのテーブルがあります。のすべてのエントリが にあるわけでtable1はありませんがtable2、 にあるエントリtable2の ID は の ID と同じですtable1

これはうまくいくはずです:

SELECT table1.id, table1.number FROM table1
LEFT JOIN table2 on table1.id = table2.id
WHERE table2.id IS NOT NULL
于 2013-04-15T04:48:52.803 に答える