У меня следующий запрос:
SELECT
DATEPART(mm, inv.invoicedate) as [month],
SUM(amount) AS amount,
inv.[state]
FROM
invoice inv
WHERE
inv.[state] IN ('TX','AZ','NV')
GROUP BY
DATEPART(mm, inv.invoicedate), inv.[state]
ORDER BY
DATEPART(mm, inv.invoicedate)
Результат этого запроса следующий:
введите описание изображения здесь
У нас есть только 3 состояния в БД: TX, AZ и NV.
Мне нужно, неважно, возвращают ли данные только 4 месяца, которые мне нужно завершить весь год месяцев и регионов. Для недостающих месяцев сумма, конечно же, будет 0.
Например, в приведенных выше результатах в апреле есть данные только для TX и NV, мне понадобятся данные для AZ с суммой 0, поэтому каждый месяц будет 3 ряды. Итак, общее количество строк, которые мне нужно получить, составляет 36, то есть 3 региона умноженные на 12 месяцев.
Есть подсказка?