Попытка вернуть продажи по годам для каждого конкретного продавца в одном столбце и процент от общего объема продаж в следующем столбце.
Подзапрос должен возвращать общую сумму всех продаж, чтобы можно было рассчитать процент.Но процент неправильный, потому что я не могу агрегировать OrderDate, потому что тогда он не будет распознан в операторе соединения (Невозможно сгруппировать по YEAR (OrderDate). Любое понимание было бы здорово.
SELECT Year(t1.OrderDate) as SalesYear, sum(SubTotal+TaxAmt) as Sales,
sum(SubTotal+TaxAmt) / sum(YearlyGrandTotal) AS [Percent]
FROM [AdventureWorks2017].[Sales].[SalesOrderHeader] t1
INNER JOIN (
SELECT OrderDate,Year(OrderDate) as O, sum(SubTotal+TaxAmt) as
YearlyGrandTotal
FROM Sales.SalesOrderHeader
GROUP BY (OrderDate)
) AS [Total] ON t1.OrderDate = Total.OrderDate
where SalesPersonID = 275
GROUP BY Year(t1.OrderDate)