使用Postgres中的键在表中插入值

时间:2015-02-05 00:25:07

标签: sql postgresql insert postgresql-9.1

我有两个表A和B.表A有一个名为food的列,它是空的,还有一组唯一的ID。表B具有相同的id匹配集,以及一堆食物值。我希望将食物的值从B变为A.也就是说,我想将表B中id = 1的食物的值移动/复制到表A,其中id = 1,依此类推所有值。我如何用postgres做到这一点?

顺便说一句,我知道我可以使用外键和连接,这不是问题。

1 个答案:

答案 0 :(得分:1)

我认为安德鲁·拉扎鲁斯在这里的回答正是你所寻找的:updating table rows in postgres using subquery

它只是来自子选择,非标准SQL的更新,但在Postgres中非常有用。

在您的情况下,它可能看起来像:

UPDATE A
SET food=subquery.food
FROM (SELECT id, food
      FROM  B) AS subquery
WHERE A.id=subquery.id;