镀锌板焊接有气孔:SQL题:请用一个(Oracle)SQL解决行列转换问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/13 09:36:52
例:

假设有张学生成绩表(CJ)如下
[姓名] [学科] [成绩]
张三 语文 80
张三 数学 90
张三 物理 85
李四 语文 85
李四 数学 92
李四 物理 82
王五 数学 60

想变成
[姓名] [语文] [数学] [物理]
张三 80 90 85
李四 85 92 82
王五 null 60 null
请用一个可以直接执行的SQL解决上题问题。这是以前的一个问题,请不用存储过程OR其他形式,我看不懂。郁闷ING。。。

yclfwm 给我加分哦!

select student,nvl(sum(yuwen),-1) as yuwen,nvl(sum(shuxue),-1) as shuxue,nvl(sum(wuli),-1) as wuli
from ( select student,
case when cource='yuwen' then mark else null end as yuwen,
case when cource='shuxue' then mark else null end as shuxue,
case when cource='wuli' then mark else null end as wuli
from bob_cj )
group by student
order by student