Я пытаюсь отобразить данные следующим образом:
В нашей базе данных есть события (с уникальным идентификатором), а затем дата начала. События не перекрываются, и каждое начинается с даты окончания последнего. Однако у нас нет «даты окончания» в базе данных.
Я должен передать данные в другую систему, чтобы они отображали идентификатор события, дату начала и дату окончания (это просто следующая дата начала).
Я хочу избегать создания пользовательского представления, так как это действительно осуждается здесь для этой базы данных. Поэтому мне интересно, есть ли хороший способ сделать это в запросе.
По сути это будет:
EventA | Дата1 | Дата2
EventB | Дата2 | Date3
EventC | Дата3 | Дата4
События планируются на несколько лет вперед, и мне нужно всего лишь выделить несколько следующих месяцев для запроса, поэтому не беспокойтесь об истечении «дат начала следующего события», и в случае, если это имеет значение, этот запрос будет частью вызов веб-службы.
Основной псевдокод для события и даты:
select Event.ID, Event.StartDate
from Event
where Event.StartDate > sysdate and Event.StartDate < sysdate+90
По сути, я хочу взять Event.StartDate следующего ряда и сделать его Event.EndDate * текущего ряда