假设我有一个像这样的postgresql表:
CustomerID | Pincode
和另一个这样的表
Pincode | City
我想在第一个表名City中创建一个新列,该列将第二个表中的city映射并插入。
最终结果
CustomerID | Pincode | City
请注意,第二张表包含唯一的城市映射密码,而第一张表可以包含许多具有不同客户ID的密码(客户ID是唯一的)
如何做到?
如果无法在数据库中完成操作,那么我也可以使用python解决方案。
答案 0 :(得分:1)
我们将这些表称为A和B。SQL查询:
SELECT A.CustomerID, A.Pincode, B.City
FROM A, B
WHERE A.Pincode = B.Pincode;
如果A中的数据是:
1 1
2 2
3 1
5 2
和B:
1 1
2 2
结果将是:
1 1 1
2 2 2
3 1 1
5 2 2
答案 1 :(得分:0)
alter table first_table add column City text;
insert into first_table (CustomerID, Pincode, City)
select ft.CustomerID, at.Pincode, at.City
from first_table as ft
join another_table as at on ft.Pincode = at.Pincode
;