首页 > 解决方案 > 在 NOT IN MySQL 中添加更多列?

问题描述

我在 MySQL 中有一个名为events的表和另一个名为vehicle的表。

事件表 - 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_iniand$aux_finstart_date+start_time级联和end_date+end_time级联。

在预订完所有车辆之前它工作正常,现在您不能预订任何车辆(尽管日期不同),因为它忽略了第二个WHERE (the NOT IN),因为它只让我选择一个字段。有什么解决办法吗?

标签: phpmysql

解决方案


推荐阅读