select * into #t from xxx

解决方案 »

  1.   

    select
        a.料号    ,
        a.发生数量,
        a.发生日期,
        当时库存 = sum(b.发生数量)
    from 
        #t a,
        #t b
    where
        a.料号 = b.料号 and a.发生日期 >= b.发生日期
    group by
        a.料号,a.发生数量,a.发生日期
    order by
        a.料号,a.发生数量,a.发生日期
      

  2.   

    select 料号,发生数量,发生日期
    ,当前库存=(select sum(发生数量) from #t where 料号=a.料号 and 发生日期<=a.发生日期)
    from #t a
      

  3.   

    --如果料号+发生日期不唯一,则用临时表select 料号,发生数量,发生日期,当前库存=0 into #t1 from #t order by 料号+发生日期
    declare @料号 nvarchar(20),@i int
    update #t1 set @i=case when @料号=料号 then @i+发生数量 else 发生数量 end
    ,@料号=料号,当前库存=@i
    select * from #t1
    drop table #t1