Я пытаюсь создать отчет, который отображает за каждый месяц года количество проданных товаров.
У меня есть запрос, который возвращает список товаров, проданных за каждый месяц, это выглядит примерно так:
SELECT Seller.FirstName, Seller.LastName, SellingHistory.Month, SUM(SellingHistory.QuantitySold)
FROM SellingHistory JOIN Seller on SellingHistory.SellerId = Seller.SellerId
WHERE SellingHistory.Year = @Year
GOUP BY Seller.FirstName, Seller.LastName, SellingHistory.Month
То, что я хочу сделать, это отобразить отчет, в котором есть столбец для каждого месяца + общий столбец, в котором для каждого Продавца будет отображаться количество, проданное в выбранном месяце.
Seller Name | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Total
Мне удалось использовать матрицу и группу столбцов (группа по месяцам) для отображения столбцов для существующих данных. Если у меня есть данные с января по март, будут отображаться 3 первых столбца и общая сумма. То, что я хотел бы сделать, это всегда отображать все столбцы.
Я думал об этом, добавляя пропущенные месяцы в запрос SQL, но я нахожу это немного странным, и я уверен, что должно быть какое-то «самое чистое» решение, поскольку это должно быть довольно часто.
Спасибо.
PS: я использую SQL Server Express 2008