Непрерывные даты для создания дела № - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь добавить номер дела на основе идентификатора клиента и даты начала и окончания.До тех пор, пока для клиентов нет перерывов в диапазонах дат, будет применяться тот же номер дела.Смотрите пример данных.Есть ли способ сделать это в Teradata SQL?

data sample

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете получить число, используя lag() и совокупную сумму:

select t.*,
       sum(case when enddate = prev_enddate + interval '1' day
                then 0 else 1
           end) over (partition by customerid order by startdate
                     ) as result
from (select t.*,
             lag(enddate) over (partition by customerid order by startdate) as prev_enddate
      from t
     ) t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...