有表如图,使用如下语句查询。报错:将 varchar 值 'AA' 转换为数据类型为 int 的列时发生语法错误。declare @sql varchar(500)set @sql='select 姓名'select @sql=@sql+',max(case 课程 when '''+课程+''' then 分数 else 0 end)['+课程+']'from (select distinct 课程 from tb) a --同from tb group by课程,默认按课程名排序set @sql=@sql+' from tb group by 姓名'exec (@sql)怎样修改可以转换“分数”为字符型的语句?
这样就行了,你分数字段是字符型,然后你else的0是数字型,不匹配,把0改成字符就OK