Я разрабатываю систему бронирования, в которой я буду отображать все записи пользователю, для которого статус «Проверен», carType соответствует желаемому пользователю, и записи с тем же типом службы, что и пользовательский ввод.Проблема в том, что запись не показывает, не существует ли запись об автомобиле в таблице бронирования.Средство проверки перекрывающихся дат работает, но не показывает другие проверенные записи, тот же тип обслуживания, тот же тип карты, но нулевой в таблице бронирования.
$startDate = '2019-06-04 07:00:00';
$endDate = '2019-06-20 07:00:00';
$serviceType = "Self-drive";
$carType = "SUV";
$sql = "SELECT carrecord.recordID, carrecord.recordLong, carrecord.recordLat,
model.brandName, model.modelName, carrecord.amount, model.carType, carrecord.status,
carrecord.recordPicture, booking.recordID AS bookRecordID FROM carrecord
LEFT JOIN booking
ON booking.recordID = carrecord.recordID
LEFT JOIN car
ON car.carID = carrecord.carID
LEFT JOIN model
ON model.modelID = car.modelID
WHERE
model.carType = '$carType'
AND
carrecord.serviceType = '$serviceType'
AND
carrecord.status = 'Verified'
OR booking.recordID IS NULL
AND NOT EXISTS
(
SELECT booking.recordID FROM booking
WHERE '$startDate' <= booking.endDate
AND '$endDate' >= booking.startDate
AND booking.status = 'Accepted'
)";