declare @sql varchar(8000)set @sql = 'select 编码,名称'select @sql = @sql+', max(case [项目序号] when '''+cast(项目序号 as varchar)+''' then 数额 else 0 end ) AS [项目序号'+cast(项目序号 as varchar)+']' from (select distinct 项目序号 from 表名) as aset @sql = @sql +' from 表名 group by 编码,名称'select @sqlexec (@sql)