日期:2014-05-18 浏览次数:20749 次
select type,SUM(num)num from ( select case TYPE when 2 then '1'+'和2' when 1 then '1'+'和2' else '3' end type,num from tb)a group by type /* type num 1和2 17 3 16 */
------解决方案--------------------
use tempdb
go
create table tb (type int ,num int)
go
insert tb
select 1, 2 union all
select 2 ,3 union all
select 3 ,5 union all
select 1 ,4 union all
select 2 ,8 union all
select 3 ,11
select type ,sum(num) as num from (select case when type=1 then '1和2' when type=2 then '1和2' else '3' end type, sum(num) as num from tb group by type)a group by type
type num
---- -----------
1和2 17
3 16
(2 行受影响)