我正在尝试计算两个计算结果之和。独立地,{Hours}和{Rate}计算工作正常,但是当我在sum公式中将它们相乘时,它们通常返回null。唯一的例外是,如果比率为0,则它们将返回0。
如果有任何指导,我们将不胜感激。我也很想知道自己做错了什么,因为我正在自学这一点。
Select
SFLTX.BF2RDAT as {Date},
SFLTX.BF2DEPT as {Dept},
sum((SFLTX.BF2QTYG / HJOBDR.EDRUNS)) as {HOURS},
(RESRE.ABLABR * ((RESRE.ABBRDP + RESRE.ABBDVP)/100)) as {RATE},
sum((SFLTX.BF2QTYG / HJOBDR.EDRUNS) * (RESRE.ABLABR * ((RESRE.ABBRDP + RESRE.ABBDVP)/100))) as {ABS}
from SFLTX
join ERW.FCALPF on SFLTX.BF2RDAT = ERW.FCALPF.FDATE
join HJOBDR on SFLTX.BF2JOBN = HJOBDR.EDJOB# and SFLTX.BF2SEQN = HJOBDR.EDSEQ#
Join RESRE on SFLTX.BF2DEPT = RESRE.ABDEPT and SFLTX.BF2RESC = RESRE.ABRESC
where SFLTX.BF2RDAT > '1/1/2019' and (right(ERW.FCALPF.FYEAR,2) = ‘19’ and SFLTX.BF2CMODE = 'R')
group by SFLTX.BF2RDAT , SFLTX.BF2DEPT, (RESRE.ABLABR * ((RESRE.ABBRDP + RESRE.ABBDVP)/100))
我附加了数据输出的图像。
答案 0 :(得分:0)
如果任何计算中涉及的任何列包含NULL值,则计算结果将同样为NULL。确保将所有列都定义为NOT NULL,或者使用CASE语句将任何NULL值转换为0或0.00(除非您要除以该列)。