已知一张表S的结构如左下表,怎样通过select语句把它变成右下表的结构,即将竖表转换为横表。
原始表:

目标表:

create table tab7(
name varchar2(20),
course varchar2(20),
score number(3)
);
insert into tab7(name, course, score) values ('张三', '语文', 20);
insert into tab7(name, course, score) values ('张三', '数学', 30);
insert into tab7(name, course, score) values ('张三', '英语', 50);
insert into tab7(name, course, score) values ('李四', '语文', 70);
insert into tab7(name, course, score) values ('李四', '数学', 60);
insert into tab7(name, course, score) values ('李四', '英语', 90);
commit;
select *
from tab7 t
pivot(sum(score)
for course in('语文' as 语文, '数学' as 数学, '英语' as 英语))
order by name desc;
SQL实现竖表转横表的方法


被折叠的 条评论
为什么被折叠?



