Foxtable(狐表)用户栏目专家坐堂 → [求助] sql语名查询救助


  共有2020人关注过本帖树形打印复制链接

主题:[求助] sql语名查询救助

帅哥哟,离线,有人找我吗?
lmlptj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:455 积分:3756 威望:0 精华:0 注册:2012/2/8 14:19:00
[求助] sql语名查询救助  发帖心情 Post By:2018/2/2 11:43:00 [只看该作者]

有两个表:表A,字典表。两表中同有一个“机构编号”字段,字典表中有万个不同的机构编号(不重复值),而且是确定的。表A为人员库,也有机构编号,可重复,近万条数据。想用sqL语名查询表A中的人员有哪些”机构编号“是错误的,即不在 字典表 中机构编号的范围:以下sql语句生成的查询表查找不出来!请老师指点:

Sel ect  姓名,身份证号,机构编号 From {表A} Where 机构编号 not in (sel ect 机构编号 from{字典表})


将上述语句的”not" 去除后可查询结果出来,而且我将表A中的人员表故意放了几个不在字典表范围内的机构编号,但就是查不出来。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/2 11:53:00 [只看该作者]

试试这样

 

Select * From {表A} a left join {字典表} b on a.机构编号=b.机构编号 where b.机构编号 is null

 

试试改成

 

Select  姓名,身份证号,机构编号 From {表A} Where 机构编号 not in (select 机构编号 from{字典表} where 机构编号 is not null)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/2 11:54:00 [只看该作者]

或者

 

Select  姓名,身份证号,机构编号 From {表A} Where 机构编号 not Exists (select 机构编号 from{字典表})


 回到顶部
帅哥哟,离线,有人找我吗?
lmlptj
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:455 积分:3756 威望:0 精华:0 注册:2012/2/8 14:19:00
  发帖心情 Post By:2018/2/2 11:57:00 [只看该作者]

真的可以了呀!谢谢!为嘛要加个非空的过滤条件呢?谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/2 12:05:00 [只看该作者]

以下是引用lmlptj在2018/2/2 11:57:00的发言:
真的可以了呀!谢谢!为嘛要加个非空的过滤条件呢?谢谢!

 

not in 改成 not Exists 就不需要加条件。

 

原因参考 https://www.cnblogs.com/snn0605/p/5901634.html

 


 回到顶部