Я хочу расширить диапазон с помощью запроса DB2 (по iSeries). Например, у меня есть следующие значения в таблицеDB2: как показать все даты в диапазоне
2016-10-01 2016-10-03 600
Я хочу вывод как
2016-10-01 200
2016-10-02 200
2016-10-03 200
Я пытался, но я не в состоянии разработать запрос. Он должен быть где-то в аналогичных строках, как показано ниже.
Таблица (MYTABLE) имеет две колонки. Ниже снимок
START_DT END_DT
2016-01-01 2016-01-03
По этому запросу
with temp1 as
(
SELECT start_dt, end_dt, start_dt as dt
FROM mytable
UNION
SELECT start_dt, end_dt, dt + 1 day as dt
FROM temp1
WHERE dt < end_dt
)
SELECT dt
FROM temp1
Я получаю «список столбцов не действителен для таблицы» ошибки.
Я попытался это, а
with temp1 (start_dt, end_dt, dt) as
(
SELECT start_dt, end_dt, start_dt as dt
FROM mytable
UNION
SELECT start_dt, end_dt, dt + 1 day as dt
FROM temp1
WHERE dt < end_dt
)
SELECT dt
FROM temp1
Это бросает ошибку «Ключевое слово не допускается рекурсивным выражение TEMP1 общих таблиц.»
Что именно вы пробовали? – mustaccio
@mustaccio Я отредактировал вопрос – uSeruSher
, вы говорите: «У меня есть следующее значение в таблице», но вы не показываете имена столбцов. Невозможно ответить на ваш вопрос. – Hogan