@hatorihanso

Как корректно обратиться к следующему ряду в таблице с использованием функции LEAD?

Есть таблица PRODUCTINFO из двух колонок: PRODUCTID (NUMBER) и ALLOWFROM (DATE). Мне необходимо вставить в таблицу новый ряд ALLOWTO (DATE), который равен следующей записи ALLOWFROM минус 1 день. Если следующей записи ALLOWFROM для конкретного PRODUCTID нет, вставить 01-01-1900.

Я использую этот скрипт, но результат не верен.

SELECT PRODUCTID, ALLOWFROM,
    LEAD(ALLOWTO -1, 1, '01-01-1900') OVER (ORDER BY ALLOWFROM ASC)  AS ALLOWTO
    FROM PRODUCTINFO
    ORDER BY PRODUCTID, ALLOWFROM;


q0px2.png

Что делаю не так? В чем ошибка?

Спасибо!
  • Вопрос задан
  • 30 просмотров
Пригласить эксперта
Ответы на вопрос 1
@hatorihanso Автор вопроса
Вопрос решен. Необходимо использовать OVER (PARTITION BY ITEM_ID ORDER BY ALLOWFROM ASC)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы