sum函数

liaoqianlin 2003-10-15 10:41:32
我在SAMPLE数据库中执行下面的语句
select
WORKDEPT
,sum(SALARY)
,sum(BONUS)
,sum(SALARY)/sum(BONUS)
from employee
group by WORKDEPT
;

结果是我想要的,结果集中每行sum(SALARY)/sum(BONUS)的值等于每行的sum(SALARY)除以sum(BONUS)。
但是当我在我自己的数据库中执行下面的语句
select LTRIM(RTRIM(a12.BRN_CODE)) BRN_CODE,
a13.D_DATE_BC D_DATE_BC,
LTRIM(RTRIM(a12.BRN_CODE_DESC)) CustCol_3,
sum(a11.IN_OUTCOME_AMT) WJXBFS1,
sum(a11.IN_OUTCOME_AMT_GROWTH) WJXBFS2,
sum(a11.LAST_IN_OUTCOME_AMT) WJXBFS3,
sum(a11.IN_OUTCOME_AMT_ACCU) WJXBFS4,
DECIMAL(sum(a11.IN_OUTCOME_AMT)/sum(a11.IN_OUTCOME_AMT_ACCU),15,9) WJXBFS5
from FACT_BF_4 a11
join DIM_BRANCH a12
on (a11.BRANCH_SK = a12.BRANCH_SK and
a11.BRANCH_VERSION = a12.BRANCH_VERSION)
join DIM_DATE a13
on (a11.DATE_SK = a13.DATE_SK)
group by LTRIM(RTRIM(a12.BRN_CODE)),
LTRIM(RTRIM(a12.BRN_CODE_DESC)),
a13.D_DATE_BC,
LTRIM(RTRIM(a12.BRN_CODE_DESC))
;
这个脚本时,却得不到我想要的结果,sum()/sum()根本就不等于前面两个值相除.
希望哪位能够解释其中的原因.

谢谢
...全文
179 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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