奇怪的SQL???

mybilly2016 2005-07-28 05:32:23
执行以下SQL:
select * from pm_historicaldata t
where t.pm_data_id in
(SELECT DISTINCT PM_DATA_ID
FROM PM_DATADETAIL
WHERE MODEL_ID = 2002
AND (DIGITALVALUE = 5000 or digitalvalue = 5003))
-- and t.model_id = 4521
没有返回数据?
select * from pm_historicaldata t
where t.pm_data_id in
(SELECT DISTINCT PM_DATA_ID
FROM PM_DATADETAIL
WHERE MODEL_ID = 2002
AND (DIGITALVALUE = 5000 or digitalvalue = 5003))
and t.model_id = 4521
却可以返回数据?
不知哪些因素会出现这种现象?
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mybilly2016 2005-07-31
  • 打赏
  • 举报
回复
没有人能解释这种现象吗???
mybilly2016 2005-07-29
  • 打赏
  • 举报
回复
正如duanzilin说的那样,count出来有40多万数据,但不知是那里的设置问题?
我用sqlplus运行SQL结果为:未选定行
mybilly2016 2005-07-29
  • 打赏
  • 举报
回复
我也不知道是为什么,但现象确实出现了这样的,不知哪位有没有碰到过???
沝林 2005-07-29
  • 打赏
  • 举报
回复
有可能记录太多上面的SQL没有显示出t.model_id = 4521这条记录,可能跟你用的查询工具有关,看是不是哪里没设置对

你在2条SQL外再嵌套一层查询看看:select count(*) from (...),记录数应该是上面的多
nowait 2005-07-29
  • 打赏
  • 举报
回复
这是不可能的,第二个结果是第一个的子集
waterfirer 2005-07-29
  • 打赏
  • 举报
回复
奇怪,为什么加了一个条件,记录反而会多。帮你顶一下

17,090

社区成员

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

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