updateToal 是update以后的数据!

解决方案 »

  1.   

    select num ,AddQty,SubQty,Total ,
           UpdateToal =(select sum(isnull(total,0) + addqty - subqty) from Ta where num <= a.num)
    from Ta a
      

  2.   

    update a
    set UpdateToal =(select sum(isnull(total,0) + addqty - subqty) from Ta where num <= a.num)
    from ta a
      

  3.   

    select 
    *,
    (select sum(AddQty -SubQty)  from T where num!>num ) as UpdateToal 
    from 
    T a
      

  4.   

    select 
    *,
    (select sum(AddQty -SubQty)  from T where num!>a.num ) as UpdateToal 
    from 
    T a
      

  5.   

    更正一下:declare @t table(num int,AddQty int,SubQty int,Total int,UpdateToal int)
    insert @t select
    1,210,0, 210,  0 union select
    2,0,  30,NULL,   0 union select
    3,6,  0, NULL,  0
    select * from @t
    update a
    set UpdateToal =(select sum( addqty - subqty) from @t where num <= a.num)
    from @t aselect * from @t/*
    (所影响的行数为 3 行)num         AddQty      SubQty      Total       UpdateToal  
    ----------- ----------- ----------- ----------- ----------- 
    1           210         0           210         0
    2           0           30          NULL        0
    3           6           0           NULL        0(所影响的行数为 3 行)
    (所影响的行数为 3 行)num         AddQty      SubQty      Total       UpdateToal  
    ----------- ----------- ----------- ----------- ----------- 
    1           210         0           210         210
    2           0           30          NULL        180
    3           6           0           NULL        186(所影响的行数为 3 行)*/
      

  6.   

    谢谢狙击手和中国风哦 !可是我需要把total加入计算的啊!
    加入我本身就有40的基数 那在记录里的total就是250(40+210),两位的写法就不正确呢!num           AddQty        SubQty       Total              UpdateToal 
    -----------   -----------   -----------   ----------- 
    1             210           0             250               250 
    2             0             30            NULL              220   (250 +0-30) 
    3             6             0             NULL              226   (220+6-0) 大家再来帮帮我吧~~急啊!
      

  7.   

    自己加个40上去就可以了.select 
        *,
        (select sum(AddQty -SubQty)  from T where num!>a.num )+40 as UpdateToal 
    from 
        T a