table:
name type nbr
X a 1
Y b 1
Z b 1
X c 1
结果:
name a b c
X 1 1
Y 1
Z 1
declare @sql varchar(8000)
set @sql = select name,
select @sql = @sql + sum(case type when +type+
then nbr else 0 end) as [+type+],
from (select distinct nbr from 表) a
select @sql = left(@sql,len(@sql)-1) + from 表 group by name
exec(@sql)
go
或:
declare @sql varchar(8000)
set @sql = select name
select @sql = @sql + ,sum(case type when +type+ then 数据 end) as [+type+]
from (select distinct type from [table]) as a
select @sql = @sql+ from [table] group by name
exec(@sql)
go