參考資料:asktom.oracle.com
一般轉置的SQL寫法都支援數字,不外乎使用MAX、MIN、SUM、COUNT等,而其中最常用的就是SUM,但當欄位內容不是數字而是文字時,使用SUM就會出現問題,上網GOOGLE了之後,大致上整理出一種寫法,特別筆記下來。
SELECT Field1,
MAX(DECODE(R,1,Field2,NULL)) A1,
MAX(DECODE(R,1,Field3,NULL)) A2,
MAX(DECODE(R,2,Field2,NULL)) A3,
MAX(DECODE(R,2,Field3,NULL)) A4
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY Field1 ORDER BY Field2 DESC NULLS LAST) R,
Field1, Field2, Field3
FROM TABLE_A
WHERE 1 = 1
AND Field1 = '241101')
GROUP BY Field1
沒有留言:
張貼留言