sql 查询中无法使用 not in 请数据库高手过来帮分析一下?
A表:编号varchar(5),姓名varchar(10),生日dateB表:编号varchar(5),姓名varchar(10),Emailvarchar(20)A表中...
A表:编号 varchar(5), 姓名 varchar(10), 生日 date
B表:编号 varchar(5), 姓名 varchar(10), Email varchar(20)
A表中的记录:001, aaa, 1978-8-22
002, bbb, 1979-8-22
003, ccc, 1980-8-22
B表中的记录:001, aaa, jack@sina.com
002, bbb, yzg@sina.com
我用 select * from A where 编号 not in (select 编号 from B)
查出结果为空;无法查得记录:003, ccc, 1980-8-22 (我的目的就是要找出这条记录)
我以前是用这个语句查询数据的,也都得到我想要的结果了,但是最近查不出来了,不知道为什么?请教了!
是不是我的查询分析器或sql server 服务管理器 坏掉了? 展开
B表:编号 varchar(5), 姓名 varchar(10), Email varchar(20)
A表中的记录:001, aaa, 1978-8-22
002, bbb, 1979-8-22
003, ccc, 1980-8-22
B表中的记录:001, aaa, jack@sina.com
002, bbb, yzg@sina.com
我用 select * from A where 编号 not in (select 编号 from B)
查出结果为空;无法查得记录:003, ccc, 1980-8-22 (我的目的就是要找出这条记录)
我以前是用这个语句查询数据的,也都得到我想要的结果了,但是最近查不出来了,不知道为什么?请教了!
是不是我的查询分析器或sql server 服务管理器 坏掉了? 展开
3个回答
展开全部
in 的字段中不能包含null的值,即 select * from table where filed in (select filed1 from table1 where contidtion),其中filed1 不能有null的值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-02
展开全部
查询分析器坏掉的可能性不大,而且sql语句也没错.
建议你查一下,表里是不是有那条记录.确定你的A表有003,而且B表没有003
建议你查一下,表里是不是有那条记录.确定你的A表有003,而且B表没有003
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-02
展开全部
你把表中字段换成字母看看行不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询