generateseries não funcionam em joins
ao usar generateseries no postgres, é permitido fazer left join com outras tabelas e exibir valores nulos? se sim não esta se comportando desta forma pra mim. no exemplo, não tenho valor pedido no mes 12, logo o mes 12 não é mostrado.
WITH periodo AS (
SELECT
extract(YEAR FROM dt) AS ano,
extract(MONTH FROM dt) AS mes
FROM (SELECT CAST(generate_series(
'2021-01-01'::date,
'2021-12-31'::date,
'1 month'::interval) AS date) AS dt
) AS date_series
)
SELECT
periodo.ano,
periodo.mes,
sum(pedido.vlr)
FROM periodo
left JOIN pedido ON
EXTRACT(month FROM pedido.data) = periodo.mes
and EXTRACT(year pedido.data) = periodo.ano
WHERE
pedido.data BETWEEN '2021-01-01' AND '2021-12-31'
GROUP BY 1,2
ORDER BY ano,mes