首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

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

2013-06-25 
group by的结果不正确我有一个表LHRA.LHRTZY12, 其中有两个字段,DATFIN, FLPRCI,对于每个员工,只能有一条

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')

方法多种多样。

热点排行