У меня есть таблица со следующими столбцами (очень упрощенная):
CustomerID | ValidFrom | ValidTo
----------------------------------
1 | 20180101 | 20180330
2 | 20180601 | 20181003
1 | 20180212 | 20180313
Я нашел запрос для достижения следующего результата:
CustomerID | ValidFrom
-----------------------
1 | 20180101
1 | 20180212
1 | 20180314
1 | 20180331
2 | 20180601
2 | 20181004
запрос:
SELECT CustomerID, ValidFrom
FROM table
UNION
SELECT CustomerID, ValidTo + 1
FROM table
Но как мне достичь следующего результата (почти значение из следующего ряда, включенного в предыдущий ряд)?
CustomerID | ValidFrom | ValidTo
---------------------------------
1 | 20180101 | 20180211
1 | 20180212 | 20180313
1 | 20180314 | 20180330
1 | 20180331 | NULL
2 | 20180601 | 20181003
2 | 20181004 | NULL
Большое спасибо!