MYSQL,将选定字段从一个表复制到另一个表

标签 mysql mysql-workbench

在 MySQL 中,如何将包含所有记录的字段从 TABLE1 复制到对应于主键的 TABLE2,即:EMPLOYEE no.?

最佳答案

如果您的意思是要更新一个表的列使用另一个表的列,那么这里有一些选项:

  1. 加入:

    UPDATE table1 AS t1
      INNER JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
    SET t1.SomeColumn = t2.SomeColumn
    

    也可以是左连接:

    UPDATE table1 AS t1
      LEFT JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
    SET t1.SomeColumn = t2.SomeColumn
    

    这实际上会清空(设置为 NULL)没有匹配的值。

  2. 子查询:

    UPDATE table1
    SET SomeColumn = (
      SELECT SomeColumn
      FROM table2
      WHERE EmployeeNo = table1.EmployeeNo
    )
    

    这相当于#1中的left join解决方案。

请注意,在所有情况下,都假定 table1 中的一行只能匹配 table2 中的一行。

关于MYSQL,将选定字段从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168402/

相关文章:

php - 检查表记录是否存在于 codeigniter 中?

python - tap-mysql 不返回任何数据

php - MySQL 查询 w/COUNT() 和 HAVING 基于日期比较

mysql - 从主机连接到 homestead mysql

mysql - 如何在MySQL Workbench中执行SQL脚本?

php - PHP中的JSON解析错误

php - Kohana 3.2 中的 $this->request->param() 和 $this->request->post()

MySQL SELECT 行作为连续列

mysql - 使用 ERD/MySQL 继续进行正向工程

java - 日期从数据库显示为前端的前一天