Я хочу написать запрос в PostgresSQL, который возвращает ежемесячный счетчик продаж по заданному диапазону дат.
У меня есть 2 запроса - 1 возвращает счетчик продаж, а другой возвращает список месяцев по диапазону дат (дата начала)и дата окончания)
Запрос 1: (возвращается счетчик продаж)
SELECT count(overall_sl) total_sales, count(CASE WHEN overall_sl < value_1 THEN 1 END) faled_sales
FROM (
SELECT overall_sl, value_1
FROM combined c
GROUP BY dept_name, date_updated, date, overall_sl, no_addons,
value_1, category_id, subcategory_id, branch_name
) sales;
Output:
total sales failed_sales
----------------------------
1047 54
Запрос 2: (Возвращается список месяцев для данных двух дат)
WITH date_ranges AS (
SELECT
min(date_trunc('month', timestamp '2018-01-01')) min_start,
max(date_trunc('month', timestamp '2018-12-11')) max_end
)
SELECT
ser.month::DATE as st_month,
(date_trunc('month', ser.month::DATE) + interval '1 month' - interval '1 day')::date as end_month,
0 as total_sales,
0 as failed_sales
FROM date_ranges AS dr,
generate_series(min_start, max_end, '1 month') AS ser(month)
Output:
st_date end_date total_sales failed_sales
---------- ---------- ---------- ------------
2018-01-01 2018-01-31 0 0
2018-02-01 2018-02-28 0 0
Мне нужно присоединиться к этим запросам, как показано на этом рисунке ниже
![Query](https://reokart.com/query.png)
Как мне написать этот запрос в Postgres SQL?