Oracle11以后,行列轉換有了新的方法,
下面的是已經疏通過的代碼,請放心使用,,,
With AA as (
Select A,B,C,row_number() over (partition by B order by b) D from (
Select 10 A, 11 B, 12 C from dual
union
select 20,11,22 from dual
union
select 30 , 21 , 32 from dual )
)
Select * from AA pivot (Max(A) , Max(C) for B in (11,21))
備注
B欄位想定的是日期,如果需要動態列的話,可以把Max項起別名,那樣就能實作動態列了,
注意
如果不是全欄位進行行列轉換的時候,不需要加row_number,
如果加上的話,會造成一些資料沒有被變到列上,因為相同項的row_number可能不一樣,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/18432.html
標籤:Oracle
上一篇:ORACLE隱式型別轉換
下一篇:Oracle行結果合計的實作
