Найти перекрывающиеся даты нескольких строк с одним и тем же ключом и вывести одну строку SQL - PullRequest
0 голосов
/ 01 мая 2020

пытается найти перекрывающиеся (эффективные) даты нескольких групп строк, используя SQL с одним и тем же ключом (ID1, ID2, NUMBER) и вывести одну строку из этих данных:

Пример очень большой набор данных выглядит следующим образом:

EDT1 & XDT1 = даты вступления в силу и срок действия ID1

EDT2 & XDT2 = даты вступления в силу и срок действия ID2

Чтобы создать этот набор данных, Идентификаторы были объединены, когда они имели одинаковое значение NUMBER. Из исходного источника значение NUMBER могло быть там несколько раз с разными датами вступления в силу и сроком действия. Каждая строка сохранялась с каждой датой.

Теперь задача состоит в том, чтобы найти, где EDT1 / XDT1 и EDT2 / XDT2 перекрываются для каждого набора ключей (ID1, ID2, NUMBER), и вывести только одну строку на ключ (ID1 , ID2, НОМЕР)

 ID1        ID2        NUMBER               EDT1           XDT1           EDT2           XDT2
 ---------- ---------- -------------------- -------------- -------------- -------------- --------------
    4054012       2057 00107890000001035080 2020-03-10     9999-12-31     1997-04-07     9999-12-31
    4054012       2057 00107890000001035080 2020-03-10     9999-12-31     2015-10-17     9999-12-31
    4054012       2057 00107890000001035080 2020-03-10     9999-12-31     2016-01-15     9999-12-31
      15839       2163 00103102000001013293 2013-11-04     9999-12-31     2013-11-04     9999-12-31
      15839       2163 00103102000001013293 2013-11-04     9999-12-31     2015-10-17     9999-12-31
      15839       2163 00103102000001013293 2015-10-17     9999-12-31     2013-11-04     9999-12-31
      15839       2163 00103102000001013293 2015-10-17     9999-12-31     2015-10-17     9999-12-31

Ищу:

                                        Dates where both IDs/Value are effective (overlap)
4054012       2057 00107890000001035080 2020-03-10     9999-12-31  
  15839       2163 00103102000001013293 2013-11-04     9999-12-31   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...