1。静态SQL
insert into tb2
select 人员编号,
sum(case 编号 when 1 then 分数 else 0 end) '题目1',
sum(case 编号 when 2 then 分数 else 0 end) '题目2',
...
sum(case 编号 when 90 then 分数 else 0 end) '题目90'
from tb1
group by 人员编号
2.动态SQL
declare @sql varchar(8000)
set @sql = 'insert into tb2 select 人员编号'
select @sql = @sql + ' , sum(case 编号 when ''' + cast(编号 as varchar) + ''' then 数量 else 0 end) [题目' + cast(编号 as varchar) + ']'
from (select distinct 编号 from tb1) as a
set @sql = @sql + ' from tb group by 人员编号'
exec(@sql)