欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

group by的结果不正确解决方法

更新时间: 2014-01-05 02:23:10 责任编辑: Author_N1

 

group by的结果不正确
我有一个表LHRA.LHRTZY12, 其中有两个字段,
DATFIN, FLPRCI,

对于每个员工,只能有一条记录的DATFIN=2999-12-31,FLPRCI=1,

我现在要找到那些没有一条记录是满足DATFIN=2999-12-31,FLPRCI=1的员工,

SELECT NUDOSS FROM LHRA.LHRTZY12
WHERE (DATFIN='2999-12-31' and FLPRCI='1')
GROUP BY NUDOSS
HAVING COUNT(*)=0

我看到明明有人是不满足条件的,为啥结果为空?

比如有的人只有一条记录,其DATFIN=2999-01-01,FLPRCI=1,这个员工应该会出现在结果中,
--参考方法--
你的WHERE (DATFIN='2999-12-31' and FLPRCI='1')只找出了满足DATFIN='2999-12-31' and FLPRCI='1'的记录,没有满足的记录则没有返回,当然就不会被后续group by,having处理了。

我想你可以或这样:
SELECT NUDOSS FROM LHRA.LHRTZY12 
except
SELECT NUDOSS FROM LHRA.LHRTZY12 WHERE (DATFIN='2999-12-31' and FLPRCI='1')

方法多种多样。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:23:10
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9170/
本文WWW.DOC100.NET DOC100.NET版权所有。