php - 在 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_ini
and$aux_fin
是start_date
+start_time
级联和end_date
+end_time
级联。
在预订完所有车辆之前它工作正常,现在您不能预订任何车辆(尽管日期不同),因为它忽略了第二个WHERE (the NOT IN)
,因为它只让我选择一个字段。有什么解决办法吗?
解决方案
推荐阅读
- angularjs-directive - 如何防止 AngularJS 路由使用 ~ (波浪号)对 url 参数进行编码
- json - JSON 数组到 JSON 对象
- javascript - JavaScript 减去零更改结果
- python - 使用 python3 list(set(arr)) 意外的间歇性执行
- java - 如何使用 CSVWriter 将字符串转换为 CSV 文件
- sql - PostgreSQL 检查 Golang 中的空数组更改行为
- javascript - 模型未从视图中获取所有属性值(仅限新添加的属性)
- c# - nuget中缺少EntityFramework.SqlServer?
- c# - 坚持从 sqlDataReader 存储单个行以供以后使用
- amazon-rds - amazon rds:如何查看使用 aurora rds 实例的存储量?