我的postgresql表有一个(cityname)列。 (cityname)列中的值有一些拼写错误。列(cityname)的每个记录都需要更正。另一个表有一个包含所有正确城市名称的列。根据此表,需要更正第一个表的拼写错误。
答案 0 :(得分:0)
您需要一个列,它可以将表A中的行(有错误)与表B与正确的数据相关联。让我们假设您有city_id列来完成这项工作。
update table_A
set add1 = table_b.correct_add1
from table_A as j_table_A
join table_B on table_B.city_id = table_A.city_id
where j_table_A.primary_key_column = table_A.primary_key_column
你基本上两次引用table_A。没有充分的理由这样做,但我发现如果你需要从连接中提取数据,那么在更新期间这是最简单的方法。
评论后编辑: 由于您没有很好的方法将正确的数据与需要修复的数据(如city_id)相关联,因此您需要处理连接条件并可能引入正则表达式。有一个链接here可能有一些用处