根据postgresql中的另一个表更正列中的拼写错误

时间:2013-03-21 06:05:01

标签: sql postgresql-9.2

我的postgresql表有一个(cityname)列。 (cityname)列中的值有一些拼写错误。列(cityname)的每个记录都需要更正。另一个表有一个包含所有正确城市名称的列。根据此表,需要更正第一个表的拼写错误。

1 个答案:

答案 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可能有一些用处