我正在運行SQL Server 2008 R2。我想建一個表,從結構像這樣的表中獲取數據:'PIVOT'附近的語法不正確
company | ded_id | descr
10 1 MEDINS
10 2 LIFE
10 3 PENSN
...
10 50 DOMREL
而且我需要建立一個臨時表出來像這樣的格式:
company | DESC1 | DESC2 | DESC3 ... | DESC50
10 MEDINS LIFE PENSN DOMREL
所以我內置了以下查詢:
SELECT *
FROM (
SELECT company,'DESC'+CAST(ded_id as VARCHAR(2)) AS DedID,descr
FROM deduction
) deds
PIVOT (MAX(descr)FOR DedID IN([DESC1],[DESC2],[DESC3])) descs
所以運行此提供了以下錯誤:
Msg 325, Level 15, State 1, Line 6 Incorrect syntax near 'PIVOT'. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the SET COMPATIBILITY_LEVEL option of ALTER DATABASE.
我仔細檢查了數據庫的兼容性級別,它已經設置爲100,所以不能成爲問題。你能想到其他可能導致這種行爲的設置嗎?
我無法用我的SQL Server 2008 R2 SP1(10.50.2500)服務器重現此錯誤;查詢工作正常,併產生所需的輸出。 – jpw