Oracle数据库表行列倒置

来源:互联网 发布:爱淘宝天天特价 编辑:程序博客网 时间:2024/06/15 15:18
--删除学生成绩表
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;


0 0
原创粉丝点击