如何基于另一列插入列值

时间:2019-11-22 10:12:29

标签: python sql database pandas postgresql

假设我有一个像这样的postgresql表:

CustomerID | Pincode

和另一个这样的表

Pincode | City

我想在第一个表名City中创建一个新列,该列将第二个表中的city映射并插入。

最终结果

CustomerID | Pincode | City

请注意,第二张表包含唯一的城市映射密码,而第一张表可以包含许多具有不同客户ID的密码(客户ID是唯一的)

如何做到?

如果无法在数据库中完成操作,那么我也可以使用python解决方案。

2 个答案:

答案 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
;