我的表结构:
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
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')