我有两个表A和B,它们都有公共列。A的大部分列是空的,而B的大部分列是满的。
我想要编写一个查询,它将选择A中不为空的列,并使用该查询从表B中获取其他空列info,然后在A中更新它们。
我猜我这里需要select for update,但不确定。需要帮助。
表A
名称地址PhoneNumber
尼克第2街NY null
Dan null 123-456-7890
表B
姓名、地址、PhoneNumber性别
Nick NY 987-654-3210 M
纽约丹五街123-456-7890 M
结果应该是表A通过查询表B来填充其空列。A中不存在列性别。A只需要电话号码和地址,因为这是A中的空值。
结果
表A
名称地址PhoneNumber
Nick NY 987-654-3210
纽约丹5街123-456-7890
发布于 2014-01-18 03:37:10
如下所示:
UPDATE
A INNER JOIN B ON A.column = B.column /*the columns that connect the tables*/
SET A.almost_empty_column = B.full_column
WHERE A.almost_empty_column IS NULL OR A.almost_empty_column = '';但我建议,你至少要看一看教程,如果不是手册的话,不要只是复制和粘贴一些人在互联网上发布的东西。你不能通过不去理解正在发生的事情来学习。
https://stackoverflow.com/questions/21194015
复制相似问题