表:
日期                收入         支出
----------------------------------------
2000/3/1            50           30
2000/3/2            45           60
2000/3/5            60           10
用select语句实现以下显示:
日期                收入         支出          余额
-----------------------------------------------------
2000/3/1            50           30             20
2000/3/2            45           60              5
2000/3/5            60           10             55这个余额的逐次相加不知道怎么实现,还请达人指教

解决方案 »

  1.   

    TRY:SELECT 日期,收入,支出,(SELECT SUM()-SUM() FROM TBNAME B WHERE B.日期<=A.日期)
    FROM TBNAME A;
      

  2.   

    sql应该不行,用pl/sql实现好点。
      

  3.   

    to bzszp(SongZip)
    不行
      

  4.   

    SQL> create table wiler_cs (
      2  rq date,
      3  sr number(10),
      4  zc number(10)
      5  );Table createdSQL> insert into wiler_cs values(to_date('2000/3/1','yyyy/mm/dd'),50,30);1 row insertedSQL> insert into wiler_cs values(to_date('2000/3/2','yyyy/mm/dd'),45,60);1 row insertedSQL> insert into wiler_cs values(to_date('2000/3/5','yyyy/mm/dd'),60,10);1 row insertedSQL> commit;Commit completeSQL> select rq,sr,zc,(select sum(b.sr)-sum(b.zc) from wiler_cs b where b.rq<=a.rq)
      2  from wiler_cs a
      3  order by a.rq;RQ                   SR          ZC (SELECTSUM(B.SR)-SUM(B.ZC)FROM
    ----------- ----------- ----------- ------------------------------
    2000-3-1             50          30                             20
    2000-3-2             45          60                              5
    2000-3-5             60          10                             55
    斑竹的方法可以实现啊,楼主测试过没?
      

  5.   

    哦,我在sum()全用sum(收入)代替了
    真的不好意思