select xzms,zsl,sssj
declare @s varchar(8000)
set @s='select xzms'
select @s=@s+',['+sssj+']=sum(case sssj when '''+sssj+''' then zsl else 0 end)' from tb group by sssj
set @s=@s+' from tb group by xzms order by xzms'
exec(@s)
declare @s varchar(8000)
set @s='select xzms'
select @s=@s+',['+sssj+']=sum(case sssj when '''+sssj+''' then zsl else 0 end)' from tb group by sssj
set @s=@s+' from tb group by xzms order by xzms'
exec(@s)
declare @s varchar(2000)
set @s='select xzms '
select @s=',['+sssj+']=sum(case when sssj='''+sssj+''' then zsl else 0 end) '
from 表
group by sssj
set @s=@s+' from 表 group by xzms 'exec(@s)
set @s = ''
select
@s = @s +',['+sssj+']=sum(case sssj when '''+sssj+''' then zsl else 0 end)'
from
(select distinct sssj=convert(char(10),sssj,120) from 表名) a
order by
a.sssj
set @s = 'select xzms'+@s+' from 表名 group by xzms'
exec(@s)
set @s='select xzms '
select @s=@s+',['+sssj+']=sum(case when sssj='''+sssj+''' then zsl else 0 end) '
from #tb
group by sssj
set @s=@s+' from #tb group by xzms '
print @s
exec(@s)