У меня это 4 таблицы:MySQL: Join таблицы интервалами DATETIME
драйверы
(id, name)
транспортных средств
(id, license_plate)
маршруты (от точки к точке пути)
(id, vehicle_id, starting_datetime, ending_datetime)
driver_working_periods
(id, driver_id, vehicle_id, starting_datetime, ending_datetime)
В принципе у меня есть, чтобы получить все itineraries
конкретного водителя на основе starting_datetime
и ending_datetime
.
Единственный способ, которым я сумел сделать это делает foreach
петлю на driving_working_periods
результаты и каждый раз, когда запрос к itineraries
таблицы и найти который один соответствует datetime
интервалов, а также vehicle_id
.
Мне было интересно, есть ли способ сделать это в одном запросе, потому что в каждой таблице есть 1000+ строк, и каждую неделю он будет больше.
спасибо.
В какой таблице 'start_datetime' и' end_datetime' вы хотите использовать? Не возражаете ли вы добавить фиктивное содержимое таблицы и ожидаемый результат? – AnkiiG
Мне нужно использовать datetimes из таблицы work_periods и найти все маршруты, которые находятся в этом интервале. Я настраиваю @Shakil anwer и, похоже, отлично работает –