使用Not In 查询出错

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:23:03
使用Not In 查询出错
SELECT C1,C2 FROM T1 WHERE C1 NOT IN (SELECT D1 FROM T2 WHERE D2 = '112')
上面的条件中,当NOT IN 后面的语句出现为空时则前面的表怎么也没记录,我想要的是如果后面的:SELECT D1 FROM T2 WHERE D2 = '112'记录集为空时,则SELECT C1,C2 FROM T1应该显示全部数据内容才对。是什么原因呢?谢谢!

C1有没有为空的呢

SELECT C1,C2 FROM T1 WHERE C1 NOT IN (SELECT D1 FROM T2 WHERE D2 = '112') and C1 is not null;

SELECT C1,C2 FROM T1 WHERE C1 NOT IN (SELECT isnull(D1,A) FROM T2 WHERE D2 = '112')

你试试~~ 加个isnull函数 A是当D1为空的是返回的值~~ 这个值取个与C1不一致的就可以。。。。