Это моя таблица 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)
Могу ли я расширить этот запрос для достижения своей цели или мне нужно найти совершенно другой способ?