Я пытаюсь выяснить, как создать логическое поле, которое сообщит мне, когда две записи имеют перекрывающиеся диапазоны дат.
В следующем примере каждая уникальная комбинация Местоположение / Контрагент в указанном диапазоне дат ЛИБО может иметь контракт или DeliveryPoint, но не оба. Таким образом, идентификаторы 1 и 2 должны быть помечены, но идентификаторы 3 и 4 в порядке, потому что они не перекрываются, поэтому флаг должен выглядеть как «Ложь».
Я начал делать самостоятельное соединение, но после этого я не мог не оборачивай голову вокруг следующего шага. Правильно ли я начал, или решение совсем другое?
id Location Counterparty Contract DeliveryPoint StartDate EndDate
1 New York Wal Mart Philadelphia 3/1/2019 12/31/2020
2 New York Wal Mart 123456 5/1/2019 7/31/2019
3 Toronto Target Boston 3/1/2019 5/31/2019
4 Toronto Target 456789 6/1/2019 12/31/2020
С флагом я бы хотел, чтобы он выглядел как
id Location Counterparty Contract DeliveryPoint StartDate EndDate Overlap
1 New York Wal Mart Philadelphia 3/1/2019 12/31/2020 TRUE
2 New York Wal Mart 123456 5/1/2019 7/31/2019 TRUE
3 Toronto Target Boston 3/1/2019 5/31/2019 FALSE
4 Toronto Target 456789 6/1/2019 12/31/2020 FALSE