2017-06-16 75 views
0
SELECT * FROM 

(select 

petID as pet, 

sum(numpet) as numberofpets 

from petTable) as base 

pivot(

count(sum(numpet)) 

for petid IN ([1],[2],[3]) 

) AS pivottable 

一直停留在這個語法錯誤一段時間:(口口聲聲說語法不正確附近 'numpet' 和([1],[2],[3])。誰能幫我?謝謝透視表期待 '('

+1

哪個分貝是這樣嗎?提供一些信息,以便我們檢查 – Debabrata

回答

0
  1. 你錯過了在base派生表
  2. 你不能指numberofpets場爲sum(numpet)一個GROUP BY petID條款。只是做COUNT(numberofpets)
+0

對不起,您在基礎派生表中的GROUP by子句是什麼意思? – vanillacoke9191

+0

在派生表中自行運行查詢,您將得到的錯誤就是我所指的。 –

0

使用錯過GROUP BY物理表的SELECT子句中:

SELECT * FROM 
    (
    SELECT petID as pet,sum(numpet) as numberofpets 
    FROM petTable 
    GROUP BY petID 
) base 
    pivot 
    (
    COUNT(SUM(numpet)) FOR petid IN ([1],[2],[3]) 
) AS pivottable