Включить отсутствующие месяцы в запрос «Группировать по»

Я думаю, что у меня тут непростая задача...:(

Я пытаюсь получить количество заказов по месяцам, даже когда ноль. Вот проблемный запрос:

SELECT datename(month, OrderDate) as Month, COUNT(OrderNumber) AS Orders
FROM OrderTable
WHERE OrderDate >= '2012-01-01' and OrderDate <= '2012-06-30'
GROUP BY year(OrderDate), month(OrderDate), datename(month, OrderDate)

Я хочу получить что-то вроде этого:

Month            Orders
-----            ------
January          10
February         7
March            0
April            12
May              0
June             5

... но мой запрос пропускает строку за март и май. Я пробовал COALESCE(COUNT(OrderNumber), 0)и ISNULL(COUNT(OrderNumber), 0), но я уверен, что из-за группировки это не работает.

11
задан Aaron Bertrand 14 July 2012 в 01:34
поделиться