簡單的Oracle 行轉列的sql語句

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


源自:http://www.linuxidc.com/Linux/2011-04/34859.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章