上次发了个稀里糊涂没说清楚,重发个,如下表
单位               存入金额           抵用金额          日期
csdn              5000                           20090310
csdn                              1000           20090311
csdn              1000                           20090312
csdn                               500           20090312
对于给定的两个日期(由程序得到,不用考虑它)比如20090311,20090312
我要得到下表
单位          上期余额        本期存入         本期抵用        本期余额
csdn         5000           1000           1500          4500
上期余额即时间小于20090311的存入之和-抵用之和 本期存入和抵用即在两个时间之间的存入之和和抵用之和,本期余额即上期余额+本期存入之和-本期抵用之和,当然也可以是时间小于20090312的存入之和-抵用之和
这次估计说明白了,我想了好久也没明白,请高手赐教

解决方案 »

  1.   

    select a.单位, b.上期余额, a.本期存入, a.本期抵用, b.上期余额+a.本期存入-a.本期抵用 本期余额
    from (
        select 单位, sum(存入金额) 本期存入, sum(抵用金额) 本期抵用 from table where 日期 between 日期1 and 日期2
         ) a,
         (
        select 单位, sum(存入金额) 上期余额 from table where 日期 < 日期1
         ) b
     where a.单位=b.单位;