1. 程式人生 > >Oracle將列轉換成行

Oracle將列轉換成行

原表資料:


姓名  科目  分數
張三  語文  100
張三  數學  200
張三  英語  300
李四  語文  600
李四  數學  700
李四  英語  800


轉換後:


姓名  語文 數學  英語
張三  100   200  300
李四  600   700  800


實現方法:

with cuspoint as
 (select '張三' 姓名, '語文' 科目, 100 成績
    from dual
  union
  select '張三' 姓名, '數學' 科目, 200 成績
    from dual
  union
  select '張三' 姓名, '英語' 科目, 300 成績
    from dual
  union
  select '李四' 姓名, '語文' 科目, 600 成績
    from dual
  union
  select '李四' 姓名, '數學' 科目, 700 成績
    from dual
  union