2014-05-06 65 views
1

我被困在此: (1)在第2行上發現有關'無效列名'book_id''的錯誤。我需要publ_id後列出的book_id。 (2)獲取max(list_price)值的空值。樞軸不顯示交叉表

select publ_id 'Publ' 
    , book_id as 'Book' 
    , [1] as 'Price1' 
    , [2] as 'Price2' 
    , [3] as 'Price3' 
    , [4] as 'Price4' 
from 
(
    select publ_id, book_id, title, list_price 
    from bkinfo.books 
) tbl 
pivot 
( 
    max(list_price) for book_id in([1],[2],[3],[4]) 
)p 
; 
go 
+0

你確定'book_id'是列在桌子「書」? –

+0

是的,只需雙重檢查。如果我將第二行'book_id'作爲'Book'註釋掉,則查詢會運行,但是我會得到數據的空值。奇怪的。 –

+1

這是一個範圍問題:第二行的book_id無法在子查詢中看到book_id。試圖找出現在的解決方法。 –

回答

1

它看起來像你的代碼是缺少「與」:

Select publ_id 'Publ' 
    , book_id as 'Book 

這可能是你應該擁有的一切:

Select publ_id as 'Publ' 
    , book_id as 'Book 
+0

'as'是可選的。 –

+0

你可以寫一行代碼來運行mysql_error –

+0

我正在運行SQL Server。 –