好吧,让这个工作真的很艰难。
我有一个员工数据库。我希望更好地处理这些数据。我的意思是表中的许多条目都有 employee_sales_id 为“?”的行。每个员工可以有多行(每次他们换工作)。对于同一名员工,一些条目具有 employee_sales_id 而其他条目则没有。我想扫描我的表并更新所有“?”可以从另一行中取出值的位置。每个员工的 Employee_id 都是唯一的。
数据库看起来像这样:
Employee_id | employee_sales_id | name
1234 | abc | Jim Smith
1234 | abc | Jim Smith
1234 | ? | Jim Smith
1234 | abc | Jim Smith
您会看到第 3 行。我想修复它并用 abc 更新它。有很多员工,所以我无法手动执行此操作。它必须是一个sql脚本。让它在插入时处理数据也很棒。
最佳答案
UPDATE employee
JOIN
(SELECT employee_id,employee_sales_id FROM employee
GROUP BY employee_id
HAVING COUNT(employee_sales_id)>1
AND employee_sales_id!='?')x
ON employee.employee_id=x.employee_id
SET employee.employee_sales_id=x.employee_sales_id
WHERE employee.employee_sales_id='?'
关于mysql - sql循环更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959369/