oracle行轉列sql怎么寫?
drop table ABC; create table ABC(id number,name varchar2(50),kcName varchar2(50),score number); insert into ABC valu
drop table ABC;
create table ABC(id number,name varchar2(50),kcName varchar2(50),score number);
insert into ABC values(1,'張三','語文',88);
insert into ABC values(2,'張三','數學',68);
insert into ABC values(3,'張三','英語',78);
insert into ABC values(4,'李四','英語',78);
insert into ABC values(5,'李四','語文',88);
insert into ABC values(6,'李四','數學',79);
insert into ABC values(7,'王五','英語',74);
insert into ABC values(8,'王五','語文',58);
insert into ABC values(9,'王五','數學',98);
select * from abc;
select abc.Name,sum(decode(kcName,'語文',SCORE,null)) 語文,
sum(decode(kcName,'數學',SCORE,null)) 數學,
sum(decode(kcName,'英語',SCORE,null)) 英語
from abc group by abc.name;
結果:
NAME 語文 數學 英語
1 王五 158 198 174
2 李四 188 179 178
3 張三 188 168 178