原数据
目标数据:
---方法一
select t.name,
sum(decode(t.sub, '语文',score, 0)) as "语文",
sum(decode(t.sub, '数学',score, 0)) as "数学",
sum(decode(t.sub, '英语',score, 0)) as "英文"
from projects t
group by t.name;
--方法二
with tmp_tab as
(select t.name, t.sub,score from projects t)
select * from tmp_tab t pivot (sum(score) for sub in('语文','数学','英语'));