0

以下のように2つのテーブルとデータがあります。

create table t1 (id int, name varchar(10));

create table t2 (id int, name varchar(10), t1id int);

insert into t1 values
(1,'value 1'),
(2,'value 2'),
(3,'value 3'),
(4,'value 3');

insert into t2 values
(1,'value 1',1),
(2,'value 2',1),
(3,'value 3',1),
(4,'value 3',2);

私が欲しいのは、T1(id)からのIDのリストですが、T2(t1id)ではありません。

出力は次のようになります

t1.id (3,4) としての 3 、4 は、T2 (t1id) には存在しません。

生データ

4

2 に答える 2

1
SELECT id
  FROM t1
 WHERE NOT EXISTS (SELECT NULL
                     FROM t2
                    WHERE t2.t1id = t1.id)
于 2012-10-06T10:55:05.787 に答える
0

質問した後にいつも解決策が得られるのはなぜですか??

select id FROM t1 WHERE id NOT IN (select distinct(t1id) FROM t2);

デモ

于 2012-10-06T10:55:30.230 に答える