Si es posible, trate de evitar generar datos sobre la marcha. Hace consultas muy simples ridículamente complejas, pero sobre todo:confunde al optimizador sin fin.
Si necesita una serie de enteros, use una tabla estática de enteros. Si necesitas una serie de fechas, meses o lo que sea, utiliza una tabla de calendario. A menos que esté lidiando con algunos requisitos realmente extraordinarios, una tabla estática es el camino a seguir.
Di un ejemplo de cómo crear una tabla de números y una tabla de calendario mínima (solo fechas) en esta respuesta .
Si tiene esas tablas en su lugar, se vuelve fácil resolver su consulta.
- Agregue los datos del pedido a MES.
- Unión derecha a la tabla de meses (o MES distinto de la tabla de fechas)