求累计计算问题,问题出在哪?????
时间:2011-07-01
来源:互联网
我做了一个逐笔累计计算的查询:
SELECT a.iidd, a.机构名称, a.凭证名称, a.收入, a.发出,
nz((select sum(a.收入) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称 ),0) AS sum_收入,
nz((select sum(a.发出) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称),0) AS sum_发出
FROM aaa AS a
ORDER BY a.机构名称, a.凭证名称, a.iidd;
但结果并未完全是逐笔累加,不知问题出在哪?请高手赐教
aaa.rar(109.53 KB)
SELECT a.iidd, a.机构名称, a.凭证名称, a.收入, a.发出,
nz((select sum(a.收入) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称 ),0) AS sum_收入,
nz((select sum(a.发出) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称),0) AS sum_发出
FROM aaa AS a
ORDER BY a.机构名称, a.凭证名称, a.iidd;
但结果并未完全是逐笔累加,不知问题出在哪?请高手赐教
附件

2011-7-1 13:04, 下载次数: 2
作者: aodi2004 发布时间: 2011-07-01
SELECT a.iidd, a.机构名称, a.凭证名称, a.收入, a.发出,
(select sum(收入) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称 ) AS sum_收入,
(select sum(发出) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称) AS sum_发出
FROM aaa AS a
ORDER BY a.机构名称, a.凭证名称, a.iidd;
(select sum(收入) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称 ) AS sum_收入,
(select sum(发出) from aaa where iidd<=a.iidd and 机构名称=a.机构名称 and 凭证名称=a.凭证名称) AS sum_发出
FROM aaa AS a
ORDER BY a.机构名称, a.凭证名称, a.iidd;
作者: marco 发布时间: 2011-07-01
还是不行啊,结果与原来前面一样
作者: aodi2004 发布时间: 2011-07-01
这个结果有问题吗?
iidd 机构名称 凭证名称 收入 发出 sum_收入 sum_发出
1665 a公司 领用单 20 0 20 0
1666 a公司 领用单 20 0 40 0
1667 a公司 领用单 20 0 60 0
1668 a公司 领用单 0 10 60 10
1669 a公司 领用单 20 0 80 10
1670 a公司 领用单 0 10 80 20
1671 a公司 领用单 20 0 100 20
1672 a公司 领用单 0 30 100 50
1673 a公司 领用单 20 0 120 50
你原来的查询是这样的:
iidd 机构名称 凭证名称 收入 发出 sum_收入 sum_发出
1665 a公司 领用单 20 0 20 0
1666 a公司 领用单 20 0 40 0
1667 a公司 领用单 20 0 60 0
1668 a公司 领用单 0 10 0 40
1669 a公司 领用单 20 0 100 0
1670 a公司 领用单 0 10 0 60
1671 a公司 领用单 20 0 140 0
1672 a公司 领用单 0 30 0 240
1673 a公司 领用单 20 0 180 0
iidd 机构名称 凭证名称 收入 发出 sum_收入 sum_发出
1665 a公司 领用单 20 0 20 0
1666 a公司 领用单 20 0 40 0
1667 a公司 领用单 20 0 60 0
1668 a公司 领用单 0 10 60 10
1669 a公司 领用单 20 0 80 10
1670 a公司 领用单 0 10 80 20
1671 a公司 领用单 20 0 100 20
1672 a公司 领用单 0 30 100 50
1673 a公司 领用单 20 0 120 50
你原来的查询是这样的:
iidd 机构名称 凭证名称 收入 发出 sum_收入 sum_发出
1665 a公司 领用单 20 0 20 0
1666 a公司 领用单 20 0 40 0
1667 a公司 领用单 20 0 60 0
1668 a公司 领用单 0 10 0 40
1669 a公司 领用单 20 0 100 0
1670 a公司 领用单 0 10 0 60
1671 a公司 领用单 20 0 140 0
1672 a公司 领用单 0 30 0 240
1673 a公司 领用单 20 0 180 0
作者: marco 发布时间: 2011-07-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28