Я хочу расширить одну строку до нескольких строк в моей таблице на основе столбца в таблице в AWS Redshift.
Вот мой пример схемы таблицы и строк:
CREATE TABLE test (
start timestamp, -- start time of the first slot
slot_length int, -- the length of the slots in minutes
repeat int -- how many slots will be there
);
INSERT INTO test (start, slot_length, repeat) VALUES
('2019-09-22T00:00:00', 90, 2),
('2019-09-21T15:30:00', 60, 3);
Я хочу расширить эти две строки до 5 на основе значения столбца «repeat». Таким образом, любой ряд будет расширен "повторять" раз Первое расширение ничего не изменит. Последующие расширения должны добавить «slot_length» в столбец «start». Вот окончательный список строк, которые я хочу получить в конце:
'2019-09-22 00:00:00', 90, 2 -- expanded from the first row
'2019-09-22 01:30:00', 90, 2 -- expanded from the first row
'2019-09-21 15:30:00', 60, 3 -- expanded from the second row
'2019-09-21 16:30:00', 60, 3 -- expanded from the second row
'2019-09-21 17:30:00', 60, 3 -- expanded from the second row
Можно ли это сделать с помощью чистого SQL в Redshift?