select sum(case type when 1 then suttle when 2 then -suttle end) as 净重 from ......

解决方案 »

  1.   


    select sum(T.suttle) from 
    (select [type],(case [type] when 1 then sum(suttle) else -sum(suttle) end) as suttle from tb group by [type]) T
      

  2.   


    create table tb ([type] int , suttle int)
    insert tb select 1,100
    union select 1,200
    union select 2,50
    union select 2,10
    select * from tbselect sum(T.suttle) as totalSuttle from 
    (select [type],(case type when 1 then sum(suttle) else -sum(suttle) end) as suttle from tb group by [type]) Tdrop table tb
    /*
    totalSuttle 
    ----------
    240*/
      

  3.   

    select sum(case when type=1 else suttle end 0) as '入库',
    sum(case when type=0 else suttle end 0) as '出库',
    (sum(case when type=1 else suttle end 0)-sum(case when type=0 else suttle end 0))as '进总'
    from '表名'
      

  4.   

    create table tb(suttle int,type int)insert tb select 500,1 union all
    select 100,2 union all
    select 200,1 union all
    select 100,2select sum(case type when 1 then suttle end)-sum(case type when 2 then suttle end) from tb