本文是引用网上一个大侠的,具体地址找不到了。
create table t (id int identity,name varchar(10),code int)
insert t values('人口',20)
insert t values('经济',12)
insert t values('文化',15)
insert t values('土地',45)
insert t values('土地',545)
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql+name+'=sum(case when name='''+name+''' then code else 0 end),' from t group by name
print @sql
set @sql = left(@sql,len(@sql) - 1)
set @sql = 'select '+@sql+' from t'
exec (@sql)
drop table t