Oracle数据库表行列倒置
--删除学生成绩表
drop table stuStore;
--创建学生成绩表
create table stuStore
(
stuNum number(4), --学号
stuClass varchar2(20), --课程
stuStores number(3) --成绩
);
--向学生成绩表中插入测试数据
insert into stuStore values(1,'语文',100);
insert into stuStore values(1,'数学',56);
insert into stuStore values(2,'英语',90);
insert into stuStore values(2,'数学',97);
commit;
--查询学生成绩表中所有信息
select * from stuStore;
--行列倒置查询SQL语句
select stuNum,sum (decode(stuClass, '语文' , stuStores, 0 )) "语文",
sum (decode(stuClass, '数学' , stuStores, 0 )) "数学",
sum (decode(stuClass, '英语' , stuStores, 0 )) "英语"
from stuStore group by stuNum;