select sum(case when a>0 then a else 0 end),
       sum(case when b>0 then b else 0 end),
       sum(case when c>0 then c else 0 end)
from 表

解决方案 »

  1.   

    declare @tb table
    (
      a int,b int,c int
    )
    insert @tb
    select 4,-1,6 union
    select 1,5,5 union
    select -1,3,-1--查询
    select sum(case when a>0 then a else 0 end),
           sum(case when b>0 then b else 0 end),
           sum(case when c>0 then c else 0 end)
    from @tb--结果
    /*
    ----------- ----------- ----------- 
    5           8           11(1 row(s) affected)
    */
      

  2.   

    select sum(case when a<0 Then 0 else a end  ),sum(case when b<0 Then 0 else b end) ,sum(case when c<0 Then 0 else c end) from  tablename