Common Table Expression と PIVOT 関数を使用して、過去 5 年間に販売された製品の数を取得していますが、エラーが発生します。以下のエラーが表示されるのはなぜですか?
USE ADVENTUREWOKS2012;
WITH SALESDATA AS
(
SELECT
Product.PRODUCTID,
Product.Name,
YEAR(OrderDate) AS [YEAR SOLD]
FROM Purchasing.PurchaseOrderDetail
JOIN Production.Product
ON Product.ProductID = PurchaseOrderDetail.ProductID
JOIN Purchasing.PurchaseOrderHeader
ON PurchaseOrderDetail.PurchaseOrderID = PurchaseOrderHeader.PurchaseOrderID
GROUP BY Product.PRODUCTID,Product.Name,YEAR(OrderDate)
)
SELECT Name,
[2005],
[2006],
[2007],
[2008],
[2009],
PRODUCTID
FROM SALESDATA
PIVOT (COUNT(PRODUCTID) FOR [YEAR SOLD] IN ([2005], [2006], [2007], [2008], [2009])) AS P;
エラー:
メッセージ 207、レベル 16、状態 1、行 21 列名 'PRODUCTID' が無効です。