Я ломал мой мозг, но не может сделать следующее эффективным образом:Построить «график» с 2 дня колеблется
В основном я 3 диапазоны дат следующим образом:
ID | StartDate | EndDate
-----------------------------
1 | 1905-01-01 | 1910-01-01
2 | 1920-01-01 | 1990-01-01
3 | 2010-01-01 | 2020-01-01
ожидаемый результат:
ID | StartDate | EndDate
-----------------------------
1 | 1900-01-01 | 1904-12-31
2 | 1905-01-01 | 1910-01-01
3 | 1910-01-02 | 1919-12-31
4 | 1920-01-01 | 1990-01-01
5 | 1990-01-02 | 2009-12-31
6 | 2010-01-01 | 2020-01-01
7 | 2020-01-02 | 9999-12-31
из данного набора диапазонов, построить график с кратчайшими сроков до последней возможной даты.
Я построил один запрос, но он очень неэффективен. Он использует LEAD и LAG, но фактические наборы результатов - «UNION ALL» - по одному за раз. Кроме того, он не является динамическим, он может обрабатывать только 3 диапазона дат за раз. Я пытаюсь построить динамический, но каждый раз, когда я пытаюсь, я в конечном итоге приближаюсь к проблеме одинаково. Любая помощь будет оценена по достоинству.
спасибо.