Итак, у меня есть следующая таблица:
Id Billing_Date
A00 2020-01-01
A00 2020-02-01
A00 2020-04-01
B91 2020-01-01
B91 2020-03-01
B91 2020-04-01
C11 2020-01-01
Я хочу получить дату из следующей строки, и если я не найду эту дату, то заполню Billing_Date + 60 дн. Все, конечно, на основе идентификатора. Вот как в итоге должны выглядеть мои данные:
Id Billing_Date Billing_Date_Duo
A00 2020-01-01 2020-02-01
A00 2020-02-01 2020-04-01
A00 2020-04-01 2020-06-01
B91 2020-01-01 2020-03-01
B91 2020-03-01 2020-04-01
B91 2020-04-01 2020-06-01
C11 2020-01-01 2020-03-01
Как я могу это сделать? Я знаю, что должен использовать что-то вроде lead () , но не знаю, как это сделать здесь и как сочетать с case when.
Я думал, что это сработает, но не :
select Id, Billing_Date,
lead(Billing_Date) over (order by Id) as Billing_Date_Duo