Я бы хотел перекрестное объединение таблицы с серией данных, сгенерированных функцией generate_series()
, для генерации 36 месяцев.
Я не знаю, как создать перекрестное объединение, которое работает с этой конфигурацией.
Зная, что:
Я не могу создать новую таблицу для хранения результата generate_series ()
И с помощью Redshift у меня нет последней версии PostgreSQL, я вынужден заставить свой generated_series()
такой, чтобы он работал.
Я пробовал это без успеха.
WITH sales AS (
SELECT
department
,product
,count(*) as invoice
FROM table
WHERE product SIMILAR TO '%(Apple|Lemon|Salt)%'
AND department is not NULL
group by department , product order by department , product ASC
),
date_gen as( SELECT (date_trunc('month', CURRENT_DATE::TIMESTAMP)) - (i * interval '1 month') as date_datetime
FROM generate_series(1,36) i
)
SELECT * FROM date_gen
CROSS JOIN sales;
Если у вас есть профессиональные советы:)