关于累计查询的问题的解决思路(重新讨论一个看似简单的查询)
火龙岛主 2006-04-10 02:48:29 原始帖子:http://community.csdn.net/Expert/topic/4613/4613168.xml?temp=.8729975
问题:
各位大虾:
表:
索引 凭证编码 金额 摘要 日期
cnsy pzbm pzje cnzy cnrq
1 101 100.00
2 102 100.00
3 202 200.00
4 203 100.00
得到结果
索引 凭证编码 期出余额 金额 期末金额 摘要
1 101 0 100.00 100.00
2 102 100.00 100.00 200.00
3 202 200.00 200.00 400.00
4 203 400.00 100.00 500.00
谢谢!
不要存储过程+函数+游标,因为要在Access里面执行
libin_ftsafe(子陌红尘)大虾给的答案
ACCESS里用这条语句:
------------------------------------------------------
select
a.cnsy as 索引,
a.pzbm as 凭证编码,
0 as 期出余额,
a.pzje as 金额,
a.pzje as 期末金额,
a.cnzy as 摘要
from
t a
where
not exists(select 1 from t where cnsy<a.cnsy)
union all
select
a.cnsy as 索引,
a.pzbm as 凭证编码,
sum(b.pzje) as 期出余额,
a.pzje as 金额,
sum(b.pzje)+a.pzje as 期末金额,
a.cnzy as 摘要
from
t a,t b
where
a.cnsy>b.cnsy
group by
a.cnsy,a.pzbm,a.pzje,a.cnzy
问题是:当删除中间日期的时候,再插入新的旧日期数据,按照日期排序,数值就不正确了!
小弟经验有限,不知各位大虾有何看法?有什么思路?