查询结果为什么不一样?

huangxinru 2007-12-27 06:39:15
SELECT distinct cnContract.DeptID
FROM cnContract,
CsResult,
stDept
WHERE ( cnContract.ContID = CsResult.ContID ) and
( stDept.DeptID = cnContract.DeptID ) and
( datediff(mm,CsResult.CsDate,"2007-12-31") = 0 ) AND
cnContract.DeptID in ( SELECT StDeptFg.DeptID FROM StDeptFg WHERE StDeptFg.StafID = '010102' );

我把from后面的表cnContract,CsResult前后位置颠倒一下,结果竟然会不一样,这是什么原因啊?
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanjun132 2008-01-22
  • 打赏
  • 举报
回复
应该是你表结构有问题吧
WWWWA 2007-12-29
  • 打赏
  • 举报
回复
应该是SQL语句有问题,检查一下表间关系
OracleRoob 2007-12-28
  • 打赏
  • 举报
回复
服务器重新启动试试
WWWWA 2007-12-28
  • 打赏
  • 举报
回复
没有看到记录,无法判断
用INNER JOIN代替WHERE试试
huangxinru 2007-12-28
  • 打赏
  • 举报
回复
数据量比较大。

我漏说了一点:以前这个查询一直在用,一直都正常。但昨天查询时发现只出来部分数据,我实在查不出毛病,无奈之下,把表的顺序颠倒了一下,结果竟然对了,非常诧异,所以才来向大家请教。
OracleRoob 2007-12-27
  • 打赏
  • 举报
回复
表结构、数据都生成SQL脚本贴出来看看

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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