1. 程式人生 > >Oracle行轉列 decode函式

Oracle行轉列 decode函式

固定列數的行列轉換如
student subject grade
---------------------------
student1 語文 80
student1 數學 70
student1 英語 60
student2 語文 90
student2 數學 80
student2 英語 100
轉換為
student 語文 數學 英語
student1 80 70 60
student2 90 80 100
語句如下:
select student,sum(decode(subject,'語文', grade,null)) "語文",
sum(decode(subject,'數學', grade,null)) "數學",
sum(decode(subject,'英語', grade,null)) "英語"
from table
group by student