Postgresql Query相当于Excel的VLookUp

时间:2015-04-16 09:33:00

标签: postgresql join

我有两个表,例如 Table1 Table2 。表1包含三列名为名称年龄标记,其中标记列为空,我需要从Table2填充。表2包含两列名为 name_en 标记。请注意,Table1填充的行数多于Table2,最后几行可以为空。它类似于Excel的VLookUp功能。我正在尝试以下查询。

INSERT INTO Table1(marks)
SELECT * FROM Table2
LEFT JOIN Table1
ON Table1.name = Table2.name_en

先谢谢

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题。

UPDATE Table1
SET marks = (SELECT Table2.marks FROM Table2 WHERE Table2.name_en = name)

您希望使用Table2中的标记值更新Table1的所有行。

对于Table1的每一行,我们得到Table2中找到的name_en的列marks,并使用此值设置Table1的marks列。