with t as
(select 'zhangsan' stu, 'math' sub, 70 score
from dual
union all
select 'zhangsan' stu, 'english' sub, 70 score
from dual
union all
select 'zhangsan' stu, 'chinese' sub, 70 score
from dual
union all
select 'lisi' stu, 'chinese' sub, 70 score
from dual
union all
select 'lisi' stu, 'math' sub, 70 score
from dual
union all
select 'lisi' stu, 'english' sub, 70 score
from dual
union all
select 'wangwu' stu, 'english' sub, 70 score
from dual
union all
select 'wangwu' stu, 'math' sub, 70 score
from dual
union all
select 'wangwu' stu, 'chinese' sub, 70 score from dual)
select stu,
sum(decode(sub, 'chinese', score, null)) chinese,
sum(decode(sub, 'math', score, null)) math,
sum(decode(sub, 'english', score, null)) english
from t
group by t.stu
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货