declare @sql varchar(8000) set @sql='select 名称' select @sql=@sql+',['+[月]+']=sum(case 月 when '''+月+''' then 值 else 0 end)' from tb group by 月 exec(@sql+' from tb group by 名称') --动态的
select 名称, [1月]=sum(case 月 when '1月' then 值 else 0 end), [2月]=sum(case 月 when '2月' then 值 else 0 end), . . . [12月]=sum(case 月 when '12月' then 值 else 0 end) from tb group by 名称 --静态的
set @sql='select 名称'
select @sql=@sql+',['+[月]+']=sum(case 月 when '''+月+''' then 值 else 0 end)' from tb group by 月
exec(@sql+' from tb group by 名称')
--动态的
[1月]=sum(case 月 when '1月' then 值 else 0 end),
[2月]=sum(case 月 when '2月' then 值 else 0 end),
.
.
.
[12月]=sum(case 月 when '12月' then 值 else 0 end)
from tb
group by 名称
--静态的