Incluir los meses faltantes en la consulta Grupo por

Creo que tengo una difícil aquí ... :(

Estoy tratando de obtener un recuento de pedidos por mes, incluso cuando cero. Aquí está la consulta del problema:

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)

Lo que estoy buscando para obtener es algo como esto:

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

... pero mi consulta salta una fila para marzo y mayo. He intentadoCOALESCE(COUNT(OrderNumber), 0) yISNULL(COUNT(OrderNumber), 0) pero estoy bastante seguro de que la agrupación está causando que no funcione.

Respuestas a la pregunta(3)

Su respuesta a la pregunta