Уникальный список дней, которые перекрываются - PullRequest
0 голосов
/ 14 апреля 2020

Это моя таблица MySQL:

ID    start       end
====  =====       ===
01    01/01/2020  10/01/2020
02    09/01/2020  31/01/2020
03    02/01/2020  04/01/2020

Я пытаюсь получить уникальный список дней, которые совпадают с самим собой, так что это ожидаемый результат:

results
=====
02/01/2020
03/01/2020
04/01/2020
09/01/2020
10/01/2020

Я пытался получить этот эффект, используя «между», но он возвращает только диапазон дат. Это мой запрос:

SELECT t1.* FROM $table AS t1, $table AS t2 WHERE t1.id > t2.id AND (t1.check_in_date BETWEEN t2.check_in_date AND t2.check_in_date OR t1.check_out_date BETWEEN t2.check_in_date AND t2.check_out_date OR t1.check_in_date >= t2.check_in_date AND t1.check_out_date <= t2.check_out_date)

Могу ли я расширить этот запрос для достижения своей цели или мне нужно найти совершенно другой способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...