Я пытаюсь реализовать поворотную таблицу в sql, но она не работает. То, что я в настоящее время выглядит следующим образом:Ошибка Sql с таблицей pivot
WITH Pivoted
AS
(
select vg.ParentProductCategoryName, c.CompanyName, sd.LineTotal
FROM SalesLT.Product p join SalesLT.vGetAllCategories vg on p.ProductCategoryID = vg.ProductCategoryID
Join SalesLT.SalesOrderDetail sd on p.ProductID = sd.ProductID
JOIN SalesLT.SalesOrderHeader as soh ON sd.SalesOrderID = soh.SalesOrderID
JOIN SalesLT.Customer AS c ON soh.CustomerID = c.CustomerID
pivot(Sum([LineTotal]) for [ParentProductCategoryName] in (Accessories, Bikes, Clothing, Components)) AS sales
)
select * from Pivoted p;
;
Я получаю ошибку:
multi part "Column name" Identifier could not be bounded.
Если я удалил имена столбцов в выберите часть и использовать * вместо этого, я получаю:
The column 'ProductCategoryID' was specified multiple times for...
То, что я хочу, состоит в том, чтобы иметь представление об общем Доходе (в соответствии с суммой строкиTotal в таблице SalesOrderDetail) для каждого родительского продукта CategoryName (в vGetAllCategories), указанного (в виде столбцов) с re для каждого CompanyName (у Клиента). Как лучше добиться этого? Благодарю.
изменения '' vg.ParentProductCategoryName' к vg.ParentProductCategoryName, как ParentProductCategoryName' так, что ваш стержень распознает столбец вы указываете, где у вас есть 'для [ParentProductCategoryName]', или аналогично ему. – scsimon
Не проблема, никакой разницы. – mj1261829