+ -
当前位置:首页 → 问答吧 → 求累计计算问题,问题出在哪?????

求累计计算问题,问题出在哪?????

时间: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)

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;

作者: 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

作者: marco   发布时间: 2011-07-01