0
有什麼方法可以反轉Oracle的Pivot函數使用的動態名稱的順序嗎?反轉oracle的Pivot函數的動態名稱
我有這個SQL語句,我必須重新別名每列以在最後附加數字而不是在開頭。這也需要我加倍引用實際的數據透視列的名稱。除了重新對列進行重新別名之外,是否還有更好的方式將數字添加到最後?
SELECT PrimaryKey
, PRODUCT
, "1_SEQ" AS SEQ_1
, "1_TYP" AS TYP_1
, "1_STA" AS STA_1
, "1_RES" AS RES_1
, "2_SEQ" AS SEQ_2
, "2_TYP" AS TYP_2
, "2_STA" AS STA_2
, "2_RES" AS RES_2
, "3_SEQ" AS SEQ_3
, "3_TYP" AS TYP_3
, "3_STA" AS STA_3
, "3_RES" AS RES_3
, "4_SEQ" AS SEQ_4
, "4_TYP" AS TYP_4
, "4_STA" AS STA_4
, "4_RES" AS RES_4
, "5_SEQ" AS SEQ_5
, "5_TYP" AS TYP_5
, "5_STA" AS STA_5
, "5_RES" AS RES_5
FROM (
SELECT PrimaryKey
, ForeignKey
, Type
, STATUS
, RESULT
, PRODUCT
, ROW_NUMBER() OVER (PARTITION BY PrimaryKey ORDER BY ORDERNO, ForeignKey) NUM
FROM STG_tbl
)
PIVOT (
MAX(ForeignKey) AS SEQ
, MAX(Type) as TYP
, MAX(STATUS) AS STA
, MAX(RESULT) AS RES
FOR NUM IN (1,2,3,4,5)
)
感謝@布賴恩抽空。如果我在in子句中使用正確的別名,它會阻止後面的雙引號,比如「group_1將成爲」group_1_sta ...,但我認爲你沒有辦法改變命令oracle名稱列 – TheDean