declare @s varchar(8000)
set @s = ''select @s = @s+',['+course_name+']=max(case when b.course_ID when '
+rtrim(course_ID)+' then b.stu_score end)' from 课程表set @s = 'select a.stu_ID,a.stu_name'+@s
+' from stu_info a,stu_score b where a.stu_ID=b.stu_ID group by a.stu_ID,a.stu_name'exec(@s)
set @s = ''select @s = @s+',['+course_name+']=max(case when b.course_ID when '
+rtrim(course_ID)+' then b.stu_score end)' from 课程表set @s = 'select a.stu_ID,a.stu_name'+@s
+' from stu_info a,stu_score b where a.stu_ID=b.stu_ID group by a.stu_ID,a.stu_name'exec(@s)
服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'when' 附近有语法错误。
好像是rtrim的事
print @s
看看生成的sql语句到底是什么地方出了毛笔
set @s = ''select @s = @s+',['+course_name+']=max(case when b.course_ID = '
+rtrim(course_ID)+' then b.stu_score end)' from 课程表set @s = 'select a.stu_ID,a.stu_name'+@s
+' from stu_info a,stu_score b where a.stu_ID=b.stu_ID group by a.stu_ID,a.stu_name'exec(@s)