求sql查询语句(转换数据表由纵向转换成横向)

 

我的表结构:   
  ID(主键)     studentNo   courseNo   score   
  
1                     01                 2001         99   
  
2                     01                 2002         98   
  
3                     01                 2003         97   
  
4                     02                 2001         95   
  
5                     02                 2002         94   
  
6                     02                 2003         93   
-----------------------------------------------
  查询结果   
  studentNo     
2001           2002           2003   
  
01                       99               98               97   
  
02                       95               94               93 
declare   @s   varchar(
8000)   
  
set   @s=@s+',['+cast(courseNo   as   varchar)+']=sum(case   courseNo   when   '''+cast(courseNo   as   varchar)+'''   then   score   end)'   
  from   表   
  group   by   courseNo   
  exec(
'select   studentNo'+@s+'   from   表   group   by   studentNo')
转载CSDN:http://topic.csdn.net/t/20040611/09/3082327.html
posted @ 2008-07-11 17:19  网络金领  阅读(784)  评论(0编辑  收藏  举报