Я пытаюсь получить результаты (целые строки) таблицы свойств, используя результат JOIN из 2 таблиц. «Booking_tbl» и «property_tbl». Первое условие заключается в том, что свойство уже не забронировано в течение определенного периода времени (startDate, endDate). Второе условие состоит в том, что число (property_tbl.max_guest) должно быть равно или больше другого заданного числа (variable: num_guest) для размещения всех гостей.Соедините 2 таблицы с фильтром по диапазону дат и номеру
До сих пор, что мне удалось достичь, это:
SELECT * FROM property_tbl
INNER JOIN booking_tbl ON booking_tbl.propertyId = property_tbl.id
WHERE NOT booking_tbl.endDate > '17-10-24' AND booking_tbl.startDate < '17-10-31';
Вышеприведенные возвращает все доступные свойства, которые происходят в booking_tbl только Перечисления из property_tbl, которые ранее не были забронированы опущены.
После некоторых исследований по этому вопросу, я думаю, что должен использовать ЛЕВЫЙ ПРИСОЕДИНЕНИЕ? What is the difference between "INNER JOIN" and "OUTER JOIN"?
Но, к сожалению, у меня возникли трудности с форматированием запроса и пониманием того, как добавить еще один JOIN и отфильтровать диапазон номеров.
Некоторая помощь с этим запросом была бы весьма признательна.
Спасибо заранее
Это здорово, возвращает ожидаемые результаты и легко понять. Большое спасибо за помощь :) – webstudent