Я пытаюсь вернуть список транспортных средств, где я знаю, что они еще не зарезервированы для текущего диапазона дат. У меня есть tblVehicles стол:MYSQL date compare query
ID Name
1 BMW
2 Merc
3 Land Rover
4 Hummer
5 Convertable
У меня также есть таблица (tblDiary), который содержит все даты, что транспортное средство используется:
ID VehicleId startDate endDate
1 1 2016-06-20 2016-06-22
2 1 2016-06-24 2016-06-24
3 2 2016-05-01 2016-06-05
Так что я пытаюсь написать запрос, где я хотите найти автомобили, которые доступны между 2016-06-21 & 2016-06-23. Таким образом, в этом случае желаемым результатом будет:
ID Name
2 Merc
3 Land Rover
4 Hummer
5 Convertable
Какой самый эффективный способ сделать это?
Я испортил это в своем (теперь удаленном) ответе, этот идеальный. +1 – Jcl
Это прекрасно. Огромное спасибо. Должен ли я помещать индекс в таблицу диарей для ускорения запроса? –
@JamesPrivett: yes, on '(vehicleId, endDate)'. – Quassnoi