@BashkaMen
C# программист

Как получить значение из следующей записи?

Всем привет.

У меня есть запрос который мне выдает кучу дат

select trunc(logs.DATETIME) from Logs logs
where logs.Id = 123
order by logs.DATETIME


мне нужно в этом запросе как бы наложить друг на друга таблицы со смещением в 1
что б получить дату следующей записи и получить такое:

запрос - вот это выдает мне мой запрос
21.04.2016
22.04.2016
23.04.2016
24.04.2016


хочу получить такое:
21.04.2016 22.04.2016
22.04.2016 23.04.2016
23.04.2016 24.04.2016
24.04.2016 *sysdate*


Если что у меня ORACLE
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
@mletov
https://docs.oracle.com/cd/B19306_01/server.102/b1...
www.sql-tutorial.ru/en/book_lag_and_lead_functions.html

PS Вторая ссылка по MSSQL, но очень наглядно
Ответ написан
Комментировать
idShura
@idShura
Попробуй вот так:

SELECT   TRUNC (LOGS.DATETIME),
         LEAD (TRUNC (LOGS.DATETIME), 1, TRUNC(SYSDATE))
         OVER (ORDER BY LOGS.DATETIME) NEXT_DATETIME
    FROM LOGS LOGS
   WHERE LOGS.ID = 123
ORDER BY LOGS.DATETIME;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@BashkaMen Автор вопроса
C# программист
Функция LEAD то, что нужно
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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