sql - 用另一个表的数据更新一个表

标签 sql database

表 1:

id    name    desc
-----------------------
1     a       abc
2     b       def
3     c       adf

表 2:

id    name    desc
-----------------------
1     x       123
2     y       345

如何运行 sql update 查询以使用相同的 ID 使用表 2 的名称和 desc 更新表 1?所以我得到的最终结果是

表 1:

id    name    desc
-----------------------
1     x       123
2     y       345
3     c       adf

如何做到这一点:

  • SQL Server
  • MySQL
  • PostgreSQL
  • 甲骨文

最佳答案

对于 MySql:

UPDATE table1 JOIN table2 
    ON table1.id = table2.id
SET table1.name = table2.name,
    table1.`desc` = table2.`desc`

对于 SQL 服务器:

UPDATE   table1
SET table1.name = table2.name,
    table1.[desc] = table2.[desc]
FROM table1 JOIN table2 
   ON table1.id = table2.id

关于sql - 用另一个表的数据更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5036918/

相关文章:

java - 如何将字母代码转换为数字?

sql - 如何更新 Rails 中的序列并在我的对象中获取结果值?

c# - x64 SQL Server 检测网络实例名称

mysql - 从 MySQL 数据库中搜索 LongBlob 列中的文本

PHP 创建表然后允许用户单击按钮从表中获取信息

mysql - 在 SQL 中读取 csv 文件

MySQL 外部连接与连接表具有对多个表的依赖性

sql - 查询字符长度的WHERE条件?

database - Postgres : two foreign keys to same primary key field

java - 在 Android 中保存之前保留数据