我有一个问题:
SELECT assets.serial, employees.uid from assets
inner join emp_as on assets.serial = emp_as.serial
inner join employees on concat(emp_as.first_name,emp_as.last_name) = concat(employees.first_name,employees.last_name)
返回两列,asset serial
(唯一)和employee ID
。我想将assets.employee_id
字段更新为select.employee_id where the asset.serial = select.serial
(选择该查询结果的伪代码)。
答案 0 :(得分:0)
这应该做的工作:
UPDATE assets set assets.employee_id = employees.uid
inner join emp_as on assets.serial = emp_as.serial
inner join employees on concat(emp_as.first_name,emp_as.last_name) = concat(employees.first_name,employees.last_name)
答案 1 :(得分:0)
如果没有看到您的数据库,我无法100%确定这是您想要的,但我相信这应该有效。 Mysql非常友好地允许更新连接,因此您不必担心创建临时表或子查询。
update assets
join emp_as on assets.serial = emp_as.serial
join employees on concat(emp_as.first_name,emp_as.last_name) = concat(employees.first_name,employees.last_name)
set assets.employee_id = employees.uid