mysql - 从 JOIN 更新列

标签 mysql sql database

我有一个名为 t1 的表,其中有一个 PRIMARY KEY,我将其称为 ITEM_ID。 表格如下:

ITEM_ID    VALUE1
2          2500
3          3500
5          5500

我还有几个表t2t3是这样的:

ITEM_ID    VALUE2
2          250
3          350
4          450
5          550

ITEM_ID    VALUE3
2          25
3          35
4          45
5          55
6          65

我想获得这个(我加入只保留在 t1 中找到的行)

ITEM_ID    VALUE1    VALUE2    VALUE3
2          2500      250       25
3          3500      350       35
5          5500      550       55

我知道如何使用 JOINCREATE 一个新表来做到这一点。 但是是否可以仅通过 ALTERADDUPDATE 列来实现?

最佳答案

ALTER TABLE t1 ADD VALUE2 INT, ADD VALUE3 INT;

UPDATE t1 a
JOIN   t2 b ON a.ITEM_ID = b.ITEM_ID
JOIN   t3 c ON a.ITEM_ID = c.ITEM_ID
SET    a.VALUE2 = b.VALUE2,
       a.VALUE3 = c.VALUE3;

关于mysql - 从 JOIN 更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11620872/

相关文章:

php - 使用 PHP 的 MDB 数据库和 MySQL

php - Mysql数据库检索多行

php - 将 php sql 查询 while 循环转换为 for 循环

mysql - 如何将 sql 时间戳作为列名?

sql - sql 语句中关键字 'or' 的任何替代方法?

python - 如果我在开源项目中公开我的数据库架构是否危险?

PHP 表单成功发布到 MySQL 数据库,但添加了空白行

java - Spring Data JPA 找不到重复的字节[]

c# - SQL 代码连接到一个由逗号分隔的键引用的表,并对其中的数据求和

sql-server - 将 ms Sql 数据库与 AWS 同步