-- 方法一
select d.name 姓名,
sum(decode(d.course_name, '语文', d.course_score, '')) 语文,
sum(decode(d.course_name, '数学', d.course_score, '')) 数学,
sum(decode(d.course_name, '化学', d.course_score, '')) 化学,
sum(decode(d.course_name, '物理', d.course_score, '')) 物理,
sum(decode(d.course_name, '英语', d.course_score, '')) 英语
from t_sc_demo2 d
group by d.name;
-- 方法二
select d.name 姓名,
sum(case course_name
when '语文' then
course_score
else
0
end) 语文,
sum(case course_name
when '数学' then
course_score
else
0
end) 数学,
sum(case course_name
when '化学' then
course_score
else
0
end) 化学,
sum(case course_name
when '物理' then
course_score
else
0
end) 物理,
sum(case course_name
when '英语' then
course_score
else
0
end) 英语
from t_sc_demo2 d
group by d.name;