当前位置: 代码迷 >> Sql Server >> 如何找出不正常的记录
  详细解决方案

如何找出不正常的记录

热度:88   发布时间:2016-04-24 18:28:34.0
怎么找出不正常的记录
有两个表gsju 和sbqiye,我想根据两表中共有的字段:dwmc 查询出gsju表中存在于sbqiye里的记录和不在里面的记录,结果用

select * from gsju
where dwmc  in
          (select dwmc
                 from sbqiye)

查出有gsju表有552条记录在sbqiye表里面,而我想查gsju表中不存在于sbqiye表中的记录时,在in前面加了not 却也没有查出来

有人说这是因为没有查出来的记录来null字符,我怎么把这样的记录给了来,再如何处理掉这些不正常的字符呢

------解决方案--------------------
这是两表共有的数据,适合2005及以上版本
select dwmc  
from gsju
intersect
select dwmc 
from sbqiye

------解决方案--------------------
这是在gsju表但是不在sbqiye表的数据
select dwmc  
from gsju
except
select dwmc 
from sbqiye

------解决方案--------------------
改成这样试试:

select * from gsju
where dwmc not in
          (select dwmc
                 from sbqiye where dwmc is not null)
  相关解决方案