-2
我正在使用公用表表达式和PIVOT函数来计算过去5年内出售的产品的数量,但我收到错误消息。为什么我得到下面的错误?SQL Server数据透视表和计数函数错误
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;
错误:
Msg 207, Level 16, State 1, Line 21 Invalid column name 'PRODUCTID'.