У меня есть таблица в MySQL называется События и еще один называется транспортные средства.
События Таблица — id
, start_date
, end_date
, start_time
, end_time
, user
, vehicle
транспортные средства Таблица — id
, registration
, model
, enabled
,
Когда человек собирается сделать резервирование, система должна назначить транспортное средство автоматически (пока оно включено), но для этого я должен знать, что оно не зарезервировано для событий в диапазоне дат и времени, которые пользователь хочет ,
У меня есть следующий код:
SELECT vehicles.registration
FROM vehicles WHERE vehiculos.registration NOT IN (
SELECT VEHICLE FROM events
WHERE '$ aux_ini'> = CONCAT (date_ini, '', hour_ini)
OR '$ aux_fin' <= CONCAT (end_date, '', end_time)
) AND enabled = 'S'
ORDER BY id ASC
LIMIT 1
куда $aux_ini
а также $aux_fin
является start_date
+ start_time
соединенные и end_date
+ end_time
сцепляются.
Он работал правильно, пока не были зарезервированы все транспортные средства, теперь вы не можете зарезервировать любое транспортное средство (хотя даты разные), потому что он игнорирует второе WHERE (the NOT IN)
так как это только оставляет меня выбрать поле. Любое решение?
Задача ещё не решена.
Других решений пока нет …