В настоящее время я переношу код PostgreSQL из нашего существующего DWH в новый Redshift DWH, и некоторые запросы несовместимы. У меня есть таблица, в которой есть id, start_week, end_week и orders_each_week в одной строке. Я пытаюсь создать последовательный ряд между start_week и end_week, чтобы я разделял строки для каждой недели на временной шкале.
Напр., Вот как он присутствует в таблице
+----+------------+----------+------------------+
| ID | start_week | end_week | orders_each_week |
+----+------------+----------+------------------+
| 1 | 3 | 5 | 10 |
+----+------------+----------+------------------+
Вот как я хочу это иметь
+----+------+--------+
| ID | week | orders |
+----+------+--------+
| 1 | 3 | 10 |
+----+------+--------+
| 1 | 4 | 10 |
+----+------+--------+
| 1 | 5 | 10 |
+----+------+--------+
Код ниже выдает ошибку.
SELECT
id,
generate_series(start_week::BIGINT, end_week::BIGINT) AS demand_weeks
FROM client_demand
WHERE createddate::DATE >= '2021-01-01'
[0A000] [500310] Amazon Invalid operation: указанные типы или функции (по одной на сообщение INFO) не поддерживаются в таблицах Redshift; [01000] Функция generate_series (bigint, bigint) не поддерживается.
Итак, в основном я пытаюсь найти последовательный ряд между двумя числами, и я не смог найти никакого решения, и любая помощь здесь действительно приветствуется. Спасибо