Я работаю с Oracle 11 и
мне нужно восстановить период из таблицы, которая имеет 2 поля даты и 2 поля: идентификатор и процентное значение.
Если между датами есть непрерывность (для каждой пары ID и значения), я должен сообщить только одну строку, пока непрерывность не будет прервана.
В противном случае я сообщаю период как прочитанный из таблицы.
Я не знаю, можно ли это сделать с помощью чистого SQL, или мне приходится полагаться на Курсор.
Это моя исходная таблица
ID PercValue START_DATE END_DATE
1 50 01/01/2014 01/03/2014
1 50 01/04/2014 01/05/2014
1 53 01/06/2014 01/07/2014
1 53 01/08/2014 02/01/2014
1 60 02/02/2014 02/10/2014
1 60 02/11/2014 02/28/2014
1 60 03/10/2014 03/15/2014
2 60 03/15/2014 03/31/2014
2 61 04/01/2014 04/29/2014
2 61 05/01/2014 06/30/2014
И это моя цель
ID PercValue START_DATE END_DATE
1 50 01/01/2014 01/05/2019
1 53 01/06/2014 02/01/2019
1 60 02/02/2019 02/28/2019
1 60 03/10/2019 03/15/2019
2 60 03/15/2019 03/31/2019
2 61 04/01/2019 04/29/2019
2 61 05/01/2019 06/30/2019