mysql 交叉更新表

标签 mysql

我不知道如何解决这个问题。 我有一个表 (A) 我需要更新,其结构如下:

CODE    VALUE
1       a
2       null
3       null
etc...

然后我有另一个表 (B),具有相同的结构,但每个值都已设置:

CODE    VALUE
1       a
2       b
3       c

我需要做的是将数据从表 B 复制到表 A,其中 A.CODE = B.CODE 但前提是 A.VALUE 未设置。 这样做的最佳查询是什么?无法手动完成,因为我要处理 2000 多行。

我写了这样的东西,但它似乎不起作用:

update A set VALUE = 
    (select b.VALUEfrom B b, A a where b.CODE = a.CODE)

提前致谢!

最佳答案

UPDATE a SET a.Value = b.Value
FROM TableA a
INNER JOIN TableB b ON (a.CODE = b.CODE)
WHERE a.VALUE IS NULL

关于mysql 交叉更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18352816/

相关文章:

php - PHP-MySQL 中 SELECT 参数值的编码

mysql - 消息和回复消息功能

mysql - 如何使用 count() 过滤 mysql 查询?

php - 将应用程序连接到本地mysql数据库

php - Android 小部件在远程 View 更新时从模拟器中消失

php - 循环遍历函数直到满足条件

mysql 自动递增 id 与组合字段主键

mysql - phpMyAdmin 创建一个触发器,用于在不存在子行时删除父行

php - mySql 按年份和月份名称查询排序

php - 无法在 Objective-C 中检索 json 数据