Я работаю над платформой по аренде автомобилей, но мне нужно посмотреть, какие автомобили доступны в зависимости от даты.
Таблицы выглядят следующим образом
Reservations (id, user_id, vehicle_id, pickup_time, dropoff_time)
Vehicle (id, etc (the rest of the columns do not really matter))
Я пробовал много вещей, но я продолжаю получать забронированные автомобили.
Подсказка LEFT JOIN WHERE ... IS NULLNOT IN() и NOT EXISTS()..






Вы можете использовать not exists:
select v.*
from vehicle v
where not exists (select 1
from reservations r
where r.vehicle_id = v.id and
@date <= r.dropoff_time and
@date >= r.pickup_time
);
Примечания:
@date это время, которое вы хотите проверить.Вау, спасибо! Также спасибо за быстрый ответ @Gordon. Да, ты прав, это было предназначено для двух свиданий. высадка и пикап. Как бы я продолжал делать это, какие-нибудь советы или что-то в этом роде?
что ты уже испробовал?