我有以下查询,用于提取车辆 ID、注册信息、驾驶员 ID 和驾驶员姓名。您看到此查询中引用的 _core_people
表也是我希望设置为车牌的字段。
这是查询:
SELECT fv._plate, cp._people_name
FROM
_fleet_vehicle fv,
_fleet_vehicle_status fvs,
_core_people cp,
_fleet_allocation fa
WHERE
cp._id_hierarchy = fv._id_hierarchy
AND fv._id_status = fvs._id
AND fvs._status_live = 1
AND fa._id_person = cp._id
AND fa._id_vehicle = fv._id
AND fa._alloc_end_date IS NULL
ORDER BY cp._people_name ASC
现在,我想编写一个 UPDATE...FROM
子句,利用此子句将 _core_people._plate
(此处未显示)设置为其车辆的车牌字段.
但是,我不确定如何构建 UPDATE...FROM
子句。
此外,一些司机有两辆车。还能用吗?
提前致谢!
最佳答案
UPDATE _core_people
SET _plate = fv._plate
FROM _fleet_vehicle fv,
_fleet_vehicle_status fvs,
_core_people cp,
_fleet_allocation fa
WHERE cp._id_hierarchy = fv._id_hierarchy
AND fv._id_status = fvs._id
AND fvs._status_live = 1
AND fa._id_person = cp._id
AND fa._id_vehicle = fv._id
AND fa._alloc_end_date IS NULL
如果 _core_people
符合条件的记录超过 1 条,_core_people
将仅更新为其中一条(无法准确判断是哪一条) .
关于sql - 使用 UPDATE FROM 批量设置字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471189/