SQL найти два дня подряд в системе бронирования - PullRequest
1 голос
/ 13 октября 2011

Обращаясь к этому вопросу: SQL-запрос системы бронирования отелей: определите, когда доступна одна конкретная комната

Используя схему, указанную в приведенном выше вопросе, как получить запрос, который говорит«Найдите мне комнату на 2 дня подряд, которая будет доступна на этой неделе?»

1 Ответ

1 голос
/ 13 октября 2011

Просто присоединитесь к таблице доступности дважды

SELECT rooms.* FROM rooms, availability as a1, availability as a2
WHERE rooms.id = 123
AND a1.room_id = rooms.id
AND a2.room_id=  rooms.id
AND a1.date_occupied + 1 = a2.date_occupied

или, если мы не собираемся писать SQL, как его 1985:

SELECT rooms.* FROM rooms
JOIN availability a1 on a1.room_id = rooms.id
Join availability a2 on a2.room_id = rooms.id AND a1.date_occupied + 1 = a2.date_occupied
WHERE rooms.id = 123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...