日期:2014-05-17  浏览次数:20512 次

请教关于SQL行转列查询
本帖最后由 zhaohui12345 于 2013-04-28 15:31:24 编辑
各位老师,我比着网上的别人的代码做了个动态生成的,行转列的查询!我想将查询做成视图,该如何操作?
我的代码如下:

use 20130225data
go
declare @sql varchar(8000)
select @sql = isnull(@sql + ',' , '') + 课程 from tb group by 课程
exec ('select m.* , n.平均分 , n.总分 from
(select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b) m , 
(select 姓名 , cast(avg(分数*1.0) as decimal(18,2)) 平均分 , sum(分数) 总分 from tb group by 姓名) n
where m.姓名 = n.姓名')

请朋友们,帮帮忙,刚学的菜鸟求助!谢谢!
SQL

------解决方案--------------------
http://www.cnblogs.com/worfdream/articles/2409162.html
------解决方案--------------------
估计做成存储过程比较方便喔.
------解决方案--------------------
程序里应该也能执行存储过程吧?
返回存储到DataTable里即可,跟访问视图的效果一样的吖.