--少写了半边括号,你的字段是char类型的吧? 再加个rtrim处理declare @s varchar(8000)
set @s=''
select @s=@s+',['+rtrim(姓名)+']=max(case 姓名 when '''+rtrim(姓名)+''' then 得分 else 0 end)'
from 表 group by 姓名
exec('
select 科目'+@s+'
from 表
group by 科目')
set @s=''
select @s=@s+',['+rtrim(姓名)+']=max(case 姓名 when '''+rtrim(姓名)+''' then 得分 else 0 end)'
from 表 group by 姓名
exec('
select 科目'+@s+'
from 表
group by 科目')
万分感激!!!