Я хочу сгенерировать серию месяца и года от следующего месяца текущего года (скажем, start_month
) до 12 месяцев с start_month
вместе с соответствующими данными (если они есть, иначе вернуть нули) из другой таблицы вPostgreSQL.
SELECT ( ( DATE '2019-03-01' + ( interval '1' month * generate_series(0, 11) ) )
:: DATE ) dd,
extract(year FROM ( DATE '2019-03-01' + ( interval '1' month *
generate_series(0, 11) )
)),
coalesce(SUM(price), 0)
FROM items
WHERE s.date_added >= '2019-03-01'
AND s.date_added < '2020-03-01'
AND item_type_id = 3
GROUP BY 1,
2
ORDER BY 2;
Проблема с приведенным выше запросом заключается в том, что он дает мне одинаковое значение для price
для всех месяцев.Требуется, чтобы столбец price
был заполнен нулями или нулями, если для данного месяца нет данных price
.