首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

迷惑的not in有关问题

2012-02-13 
迷惑的not in问题select distinct a.kcmcfrom aleft OUTER JOIN bon a.IDb.CoreIDwherekcmc not in(selec

迷惑的not in问题

select distinct a.kcmc from a left OUTER JOIN b on a.ID=b.CoreID

where kcmc not in
(select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID ) 

a表中包含所有的课程名称,b表中包含今年的课程名称,我要取的数据为历年的课程名称,所以我采用以上方法,奇怪的是结果总为空,但是将上面的语句分开执行,即如果不包含not in那个条件上面取到的值为330条,而后面那个select语句取到150条记录,而且我也查看了,里面数据正确,也确实存在不同的课程,但是一起执行确没有值了。上面代码是我简化后的,但是问题同样存在,请高手帮忙找找问题原因。

[解决办法]
可能是因为select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID 有null值


select distinct a.kcmc from a left OUTER JOIN b on a.ID=b.CoreID where a.kcmc is null

select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID
where kcmc is null
看一下
[解决办法]

SQL code
--同意楼上的说法select   distinct   kcmc     from   a     right   OUTER   JOIN   b   on   a.ID=b.CoreID可能有NULL值!
[解决办法]
以前碰到过.
Null值的问题;
[解决办法]
如果有NULL,加多个条件

and col is not null

热点排行
Bad Request.