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 表
sum(case when b>0 then b else 0 end),
sum(case when c>0 then c else 0 end)
from 表
(
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)
*/