有网友碰到这样的问题“oracle 行列转换 --按以下的列 显示出来 各个人的各科的成绩 --姓名 英语 数学 语文 物理”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
select c.name,sum(decode(b.name,'数学',a.score,0)) as 数学,
sum(decode(b.name,'语文',a.score,0)) as 语文,
sum(decode(b.name,'英语',a.score,0)) as 英语,
sum(decode(b.name,'物理',a.score,0)) as 物理
from grade a,subject b,student c
where a.stuid=c.id and a.subid=b.id
group by c.name