2016-04-13 146 views
0

我想學習使用SQL來生成數據透視表。但不管我如何嘗試,我總是收到ORA-00936:缺少來自oracle的表達錯誤。使用SQL生成數據透視表

這裏是我的查詢:

SELECT * FROM (SELECT HOS_PAY_ID, AMOUNT FROM HOSPITAL_PAYMENT) 
PIVOT (SUM (AMOUNT) FOR AMOUNT IN ([10000],[8000],[7000],[9000],[11000],[13000]) AS TEST 
ORDER BY HOS_PAY_ID; 

,這是我的數據:

enter image description here

謝謝。

+1

是,應該是與Oracle語法?那些方括號可能不被期望? – jarlh

+0

我根據錯誤信息刪除了'sql-server'標籤。在@jarlh評論不太確定...請正確標記您的問題,不要標記不涉及的產品 – HoneyBadger

+0

我應該在oracle中的那些支架上替換什麼 –

回答

1

試試這個

SELECT * FROM 
(
    SELECT HOS_PAY_ID, AMOUNT 
    FROM HOSPITAL_PAYMENT 
) 
PIVOT (
     SUM (AMOUNT) FOR AMOUNT IN (10000,8000,7000,9000,11000,13000) 
    ) 
ORDER BY HOS_PAY_ID;