SQL查询-ID不存在于另一个表中,或者存在,但所有记录都在历史记录中?
我有T1桌SQL查询-ID不存在于另一个表中,或者存在,但所有记录都在历史记录中?,sql,select,db2,Sql,Select,Db2,我有T1桌 ID 1 2 3 和表T2 ID HISTORY 1 1 1 1 2 1 2 0 我必须从T1中选择T2中不存在的所有记录,或者选择T2中存在但所有记录都在历史记录中的所有记录标志=1 因此,我的结果将是 1 3 对此,什么是正确的SQL查询? 谢谢试试这个: select * from T1 where ID not in(select ID from T2 where HISTORY_FLG!=1) 尝试使用不存在的
ID
1
2
3
和表T2
ID HISTORY
1 1
1 1
2 1
2 0
我必须从T1中选择T2中不存在的所有记录,或者选择T2中存在但所有记录都在历史记录中的所有记录标志=1
因此,我的结果将是
1
3
对此,什么是正确的SQL查询?
谢谢试试这个:
select * from T1
where ID not in(select ID from T2 where HISTORY_FLG!=1)
尝试使用不存在的
演示试试这个:
SELECT * from T1
WHERE id not
IN ( SELECT tb1.id FROM( SELECT id FROM T2 WHERE history=0 ) as tb1 )
我不能使用这个,因为从T2中选择id,其中h=我会回来2@Dejan:但它在子查询rt中?请检查演示文稿,您认为它不会返回2?
SELECT * from T1
WHERE id not
IN ( SELECT tb1.id FROM( SELECT id FROM T2 WHERE history=0 ) as tb1 )