table 
date   sl
1      12
2      10
3      15求一结果
date   sl      sum
1      12      12
2      10      22
3      15      37sum列的值   1号为 sl 列的值   2号为 1+2 sl列的合   3号为 1+2+3 sl列的值
依次往下推

解决方案 »

  1.   

    declare @t table(date int,sl int)
    insert @t select 1 ,12 union 
    select 2,10 union
    select 3,15
    select * from @t
    select date,sl,sum= (select sum(sl) from @t where date <= a.date) 
    from @t a
    order by date/*date        sl          sum         
    ----------- ----------- ----------- 
    1           12          12
    2           10          22
    3           15          37*/
      

  2.   

    select date,a.sl,a.sl+isnull((select sum(sl) from test where date < a.date),0) sum from table a