Есть таблица с номерами
+-----+--------+
| id | price |
+-----+--------+
| 1 | 500 |
| 2 | 500 |
| 3 | 700 |
| 4 | 1000 |
+-----+--------+
и таблица с забронированными номерами
+-----+---------+----------+-------------+-------------+----------+--------+
| id | person | room_id | start | end | s_time | e_time |
+-----+---------+----------+-------------+-------------+---------+---------+
| 1 | Ivan | 1 | 2022-03-01 | 2022-03-04 | 1 | 1 |
| 2 | Eva | 1 | 2022-03-05 | 2022-03-06 | 1 | 0 |
| 3 | Maria | 2 | 2022-03-01 | 2022-03-04 | 1 | 0 |
| 4 | Peter | 3 | 2022-03-01 | 2022-03-02 | 1 | 0 |
| 5 | Max | 3 | 2022-03-06 | 2022-03-07 | 1 | 1 |
| 6 | Bob | 4 | 2022-03-06 | 2022-03-07 | 0 | 0 |
+-----+---------+----------+-------------+-------------+----------+--------+
s_time и e_time - это время заезда и выезда, где 0 - это до полудня, а 1 - после полудня. К примеру в записи id=5 стоит s_time 1 и e_time 1, значит заезд после полудня и выезд после полудня.
Мне нужно узнать, какие номера свободны с 4 по 6 число с заездом после полудня и выездом до полудня. Для этого я хочу получить в начале все номера, которые заняты в этот промежуток, а затем получить все номера, кроме тех, что заняты.
По факту id с занятыми номерами с 4 по 6 число - это id1, id2 и id6, потому что в id1 выезд ПП, в id2 пятого числа занято, а в id6 заезд ДП.
Подскажите пожалуйста, как получить эти id?