Прямо сейчас у меня есть cte
, который дает мне общий объем продаж на одного продавца в месяц в длинном списке. Я хочу использовать pivot
специально для того, чтобы иметь столбец на каждый месяц и продавцов, перечисленных в строках, чтобы более легко отображать общий объем продаж по каждому месяцу.Pivot with Month-YY format
QUERY:
WITH SalesCTE (Salesperson, Date, TotalSales)
AS
(
SELECT FirstName + ' ' + LastName AS 'SalesPerson',
CAST(YEAR(OrderDate) AS nvarchar(10)) + '-' + DateName(MONTH,OrderDate) AS 'Date',
SUM(TotalDue)
FROM Person.Person p
JOIN Sales.SalesOrderHeader s
ON p.BusinessEntityID = s.SalesPersonID
GROUP BY FirstName, LastName, OrderDate
)
SELECT SalesPerson,
Date,
TotalSales
FROM SalesCTE
ORDER BY Date, SalesPerson
Выход на данный момент:
David Campbell 2011-December 78223.3018
Garrett Vargas 2011-December 10254.8552
Jillian Carson 2011-December 52586.674
José Saraiva 2011-December 119678.9211
Linda Mitchell 2011-December 6167.1672
Michael Blythe 2011-December 71792.8437
В идеале я хочу это:
December-11 January-12 February-12 ….
David Campbell 78223.3018 73343.3652 77431.389
Garrett Vargas 10254.8552 176300.293 46954.6224
Jillian Carson 52586.674 300998.1522 158997.3466
José Saraiva 119678.9211 180684.8446 182343.3114
Linda Mitchell 6167.1672 305145.2225 205684.0069
T здесь много других месяцев и продавцов в списке, и я раньше ничего подобного не делал. Посмотрел развороты на несколько часов, но не мог понять, как они работают.
Вы пытались решить это самостоятельно? Если да, отправьте свой код вместе с любыми ошибками или результатами, которые он производит. Таким образом, пользователи могут идентифицировать и научить вас, что не так с вашей попыткой, а не дать вам решение, которое вы не можете понять. На сайте есть много примеров [cte's with pivots] (http://stackoverflow.com/search?q=%5Bsql-server%5D%5Bcte%5D+pivot), которые должны помочь вам с этим запрос, если нет. – Tanner