首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求根据当前月份计算累积金额,多谢

2013-06-25 
求根据当前月份计算累积金额,谢谢部门预算表ACTMKMK002(年度),MK005(月份),MK003(会计科目),MK004(部门),M

求根据当前月份计算累积金额,谢谢
部门预算表ACTMK
MK002(年度),MK005(月份),MK003(会计科目),MK004(部门),MK006(预算金额)
2013       01       660202       30101     8000
2013       02       660202       30101     2000
2013       03       660202       30101     3000
2013       04       660202       30101     1000
2013       05       660202       30101     4000
2013       06       660202       30101     5000
2013       07       660202       30101     700
2013       08       660202       30101     500
2013       09       660202       30101     600
2013       10       660202       30101     700
2013       11       660202       30101     800
2013       12       660202       30101     9000
......表里还有其他的科目和不同的部门存在

求实现:比如 部门为30101,会计科目为660202 的四月的数据
MK002(年度),MK005(月份),MK003(会计科目),MK004(部门),MK006(预算金额),AAA(截止当前月份的累积预算金额)
2013       04       660202       30101     1000       8000+2000+3000+1000问题是如何计算截止当前月份的累积预算金额
谢谢
[解决办法]


with tb(a,b) as(
select 10,       '01' union all
select 20,       '02' union all
select 30,       '03' union all
select 40,       '04' union all
select 50,       '05' union all
select 60,       '06' union all
select 70,       '07'
)
select sum(a.a),b.b from tb a, tb b where a.b<=b.b
group by b.b


/*
a      b
10 01
30 02
60 03
10004
15005
21006
28007
*/


举个例子,照着写就行了..
[解决办法]
?
select A.MK002 ,
        A.MK005 ,
        A.MK003 ,
        A.MK004 ,
        A.MK006 ,
        SUM(t.mk006) AS aaa
FROM TB A
INNER JOIN TB T ON T.mk002 = A.mk002 AND T.mk003=a.mk003 AND T.mk004=a.mk004
                    AND CONVERT(INT, T.mk005) <= CONVERT(INT, a.mk005)
GROUP BY A.MK002 ,
        A.MK005 ,
        A.MK003 ,
        A.MK004 ,
        A.MK006

/*
MK002MK005MK003MK004MK006aaa
2013016602023010180008000
20130266020230101200010000
20130366020230101300013000
20130466020230101100014000
20130566020230101400018000
20130666020230101500023000
2013076602023010170023700
2013086602023010150024200
2013096602023010160024800
2013106602023010170025500
2013116602023010180026300
20131266020230101900035300

热点排行