如何为期初余额带来期末余额

时间:2011-10-17 05:53:40

标签: sql-server

我有这样的表格报告

YYYYMM   pipno demand principle interest balance=(demand-principle)
201010   101     5000   500       100      4500
201010   102     1000   750       100       250
201011   103     2000   1500      100       500
201011   102     1000   750       100       250
201011   104     1500   1000      100       500
201011   101     5000   1500      100       3500

//在需求字段中我想用旧余额添加需求,即4500 + 5000 = 9500,其中pipno = 101,因为pipno 101存在两次,如果任何pipno存在多次我们想要添加也相同现有余额的需求。 Plaese快速回复我

样本o / p

pipno demand principle interest balance=(demand-principle)
101     5000   500       100      4500
102     1000   750       100       250
103     2000   1500      100       500
104     1500   1000      100       500
101     9500   1500      100       8000
102     1250   750       100       500

在需求领域,如果pipno存在不止一次,我想带来余额加上旧需求 这里101& 102存在两次

1 个答案:

答案 0 :(得分:0)

SELECT MT.pipno, 
    MT.YYYYMM,
    MT.demand + ISNULL((SELECT SUM(balance) FROM MyTable MT2 WHERE MT.pipno=MT2.pipno AND MT2.YYYYMM < MT.YYYYMM), 0) AS demand, 
    MT.principle,
    MT.interest,
    MT.balance
FROM MyTable MT

这是你想要的吗?