有三个表Vehicle、VehicleGroup和AssignedVehicleGroup,其格式如下:
车辆 - 车辆 ID、客户 ID、注册
VehicleGroup - 组 ID、组名称
AssignedVehicleGroup - 车辆 ID、组 ID
使用此模式可以将车辆放置在多个组中,但是我正在努力编写一个可以找到的查询:
- 未分配给任何组的所有车辆
- 不属于当前组的所有车辆(基于传入的变量)
此查询将填充一个列表,允许用户将车辆添加到当前组(如果车辆尚未在当前组或任何组中)。
最佳答案
这将为您提供分配表中不匹配的车辆列表:
SELECT v.*
FROM vehicle v
LEFT JOIN assignedvehiclegroup ag
ON ag.vehicleid = v.vehicleid
WHERE ag.vehicleid IS NULL
返回不属于当前组的车辆:
SELECT v.*
FROM vehicle v
LEFT JOIN assignedvehiclegroup ag
ON ag.vehicleid = v.vehicleid
WHERE ag.groupid<=>100
关于mysql - SQL 在一个列表中但不在另一个列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8340707/