mysql - 如果两个表具有相同的值,则填充 mysql 列

标签 mysql

我有两个mysql表,都有3列,第一个表第三列是空的,第二个表第三列有数据。

表1

---------|------------|---------|
codprc   | numideent  |  Empty  |
---------|------------|---------|
20000002 | 890300604  |         |
20000002 | 800077226  |         |
20000003 | 890300604  |         |
20000003 | 79692317   |         |
20000003 | 22802672   |         |<-----
20000005 | 240284866  |         |
20000005 | 20310518   |         |
20000005 | 17189852   |         |
20000005 | 17118956   |         |
20000005 | 41496516   |         |
20000005 | 20713128   |         |
20000005 | 19142900   |         |

表2

---------|------------|----------|
icodprc  | inumideent | icodcpe  |
---------|------------|----------|
20000003 | 22802672   |    3     |<------
20000003 | 79692317   |    3     |
20000003 | 890300604  |    4     |
20000003 | 890300604  |    4     |
20000005 | 17118956   |    4     |
20000005 | 17189852   |    4     |
20000005 | 19142900   |    4     |
20000005 | 20284866   |    4     |
20000005 | 20310518   |    4     |
20000005 | 20713128   |    3     |
20000005 | 41496516   |    4     |
20000007 | 890300604  |    4     |
20000008 | 890300604  |    4     |
20000009 | 41462678   |    4     |
20000009 | 860351432  |    3     |
20000010 | 890300604  |    4     |

我需要用第二个表的第 3 列填充第一个表的第 3 列,但前提是两个表的 fisrt 和 secod 列相等。

例如,第1行的tale2.icodprc和table2.inumideent的值等于第5行的table1.codprc table1.numideent,所以icodcpe的值必须填入第5行的空列。

我尝试了几种选择,但我想我遗漏了一些东西。

谢谢。

最佳答案

您可以使用多表 UPDATE 语法来连接表:

UPDATE Table1
  JOIN Table2
    ON Table2.icodprc    = Table1.codprc
   AND Table2.inumideent = Table1.numideent
SET    Table1.Empty      = Table2.icodcpe

查看sqlfiddle .

关于mysql - 如果两个表具有相同的值,则填充 mysql 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17790701/

相关文章:

php - 在 Laravel 中的何处插入强制性业务数据

mysql - 从生成的列创建一个 mysql 累积和列

php - 组合这三个 SQL 查询

mysql - 在 Cloud Foundry 上将 Mysql 绑定(bind)到 Magnolia cms

MySQL语法错误

mysql - 拆分 MySQL 并进行比较

mysql - 将我的 Rails 应用程序设置到 MySQL 数据库

mysql - Django 。我如何获得重复的用户列表?

MySQL 锁和使用唯一索引锁定行的语句

c# - Serenity-将表单中的值添加到 2 个表中