Я надеюсь, что любой из вас может помочь мне решить следующую проблему с SQL. Я ищу способ предсказать будущие встречи в SQL.
Например, у меня есть номер проекта "P01155220" (см. Пример таблицы ниже), в котором были некоторые встречи (см. Столбец встречи_дата). Я пытаюсь сделать следующее:
- Следующая (виртуальная) встреча будет последней датой встречи + 42 дня. Например, следующая дата встречи будет 2019-06-27 + 42 дня = 2019-08-08.
- Это предсказание +42 дня должно продолжать добавлять «строки», пока running_total <450 дней. </li>
Каков наилучший способ «предсказать» даты следующей предстоящей встречи?
unique_id appointment_date days_between Running_total
P01155220 2018-11-19 0 0
P01155220 2019-01-17 59 59
P01155220 2019-03-21 63 122
P01155220 2019-06-27 98 220
Простой запрос;
SELECT
unique_id
,appointment_date
,days_between
,SUM(days_between) OVER(ORDER BY unique_id,appointment_date) AS Running_total
FROM [records]
Вывод таблицы, которую я ожидаю, должен выглядеть следующим образом:
|Unique_id|Appointment_date|Days_between|Running_total|
|P0115220|2018-11-19|0|0|
|P0115220|2019-01-17|59|59|
|P0115220|2019-03-21|63|122|
|P0115220|2019-06-27|98|229|
|P0115220|2019-06-27+42|42|271|
|P0115220|2019-06-27+42+42|42|313|
|P0115220|2019-06-27+42+42+42|42|355|
|P0115220|2019-06-27+42+42+42+42|42|397|
|P0115220|2019-06-27+42+42+42+42+42|42|439|