行列转换问题,如何理解这部分代码?

kfzxc 2010-03-11 04:50:27
请教如何理解
--SQL SERVER 2000 动态SQL,指课程不止语文、数学、物理这三门课程。(以下同)
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql)

能不能不要字符串@sql,直接写?
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leshami 2010-03-11
  • 打赏
  • 举报
回复
直接写SQl,这方面的贴子很多,你可以参照如下页面。
http://blog.csdn.net/canhui87/archive/2009/09/20/4574260.aspx
sql_sf 2010-03-11
  • 打赏
  • 举报
回复
print @sql
--小F-- 2010-03-11
  • 打赏
  • 举报
回复
print(@sql)
检查错误的好方法
dawugui 2010-03-11
  • 打赏
  • 举报
回复
print(@sql)看看代码即可.

其实就是静态的SQL.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧