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 ...のようなものにならないようにすることができます。しかし、あなたが正しいと思うのは、順序を変更する方法がないと思います。 – TheDean