Я использую один стол, mrp для хранения многокомнатных номеров и второго бронирования столов, чтобы сохранить даты, в которые была забронирована недвижимость. я, таким образом, имеют следующие таблицы:MySQL, использующий счет в запросе для поиска доступности нескольких строк
MRP (PROPERTY_ID, property_name, num_rooms)
бронирование (PROPERTY_ID, booking_id, дата)
Всякий раз, когда свойство получает предупреждение, сделана запись в таблице бронирования и потому, что каждая таблица имеет несколько комнат, она может иметь несколько заказов в тот же день.
Я использую следующий запрос:
SELECT * FROM mrp
WHERE property_id
NOT IN (SELECT property_id FROM booking WHERE `date` >= {$checkin_date} AND `date` <= {$checkout_date}
)
Но хотя этот запрос будет работать нормально для недвижимость с одной комнатой (то есть, в нем перечислены только те свойства, которые не были забронированы в целом между датами, которые вы предоставляете), он не отображает свойства, которые были забронированы, но все еще имеют свободные комнаты. Как мы можем использовать счет и таблицу num_rooms, чтобы показать в моих результатах комнаты, которые все еще свободны, даже если у них уже есть бронирование между выбранными датами, и отображать в моих результатах количество свободных номеров.
+1 для попытки, давая нам хороший пример и прилагая усилия при написании вопроса. – Aquillo