mysql - sql循环更新数据

标签 mysql sql

好吧,让这个工作真的很艰难。

我有一个员工数据库。我希望更好地处理这些数据。我的意思是表中的许多条目都有 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='?'

SQL FIDDLE

关于mysql - sql循环更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959369/

相关文章:

java.net.SocketException : Broken pipe while accessing mysql on cloud server

sql - 避免 SQL Server 中的 while 循环

c# - sql 进程的行为如何?

mysql - sql按月搜索结果格式为2010-04-01 10 :40:20

mysql - 通过一次查询插入不同语言的数据

php - 将 iCal 日历导入 MySQL 数据库

MySql 根据其他字段值更新字段值

mysql - 在给定条件的 MYSQL 中按列名查找和排序

java - 错误的整数值 :'javax. swing.JFormattedtextField

sql - 是否有定义和接受的标准 SQL 语言?