语句查询问题

双手插袋 2014-02-14 09:48:48
语句1:select vin, engineno from syjk_ccs_rkmx group by vin, engineno haiving count(vin)=1;
语句2:select * from syjk_ccs_rkmx
where (vin, engineno) in
(select vin, engineno from syjk_ccs_rkmx group by vin, engineno haiving count(vin)=1);

问题: 语句1 能够查询出数据,而语句2查询不出数据,同样的语句结构我把syjk_ccs_rkmx表替换成scott.emp 表,语句1和语句2执行都能查询到数据,这个是什么原因。


--------------- 急 求帮帮 ---------------
...全文
154 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sych888 2014-02-14
  • 打赏
  • 举报
回复
查查列有没有空值
qingrou123 2014-02-14
  • 打赏
  • 举报
回复
engineno空值?
_拙计 2014-02-14
  • 打赏
  • 举报
回复
按道理讲 应该没问题啊 多字段in
BUG胡汉三 2014-02-14
  • 打赏
  • 举报
回复
syjk_ccs_rkmx 都是操作这一张表! 取一个别名吧!

select * from syjk_ccs_rkmx as t1
       where (t1.vin, t1.engineno) in 
       (select t2.vin, t2.engineno from syjk_ccs_rkmx  as t2 group by t2.vin, t2.engineno haiving count(t2.vin)=1);
双手插袋 2014-02-14
  • 打赏
  • 举报
回复
谢谢各位的帮忙 问题找到了engineno空值问题,空值不能使用in进行比较

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧