在 Postgres 中使用键跨表插入值
Inserting values across tables with keys in Postgres
我有两个 tableA 和 B。TableA 有一个名为 food 的列是空的,并且有一组唯一的 ID。 Table B 具有相同的匹配 ID 集和一组食物值。我想将食物的值从 B 获取到 A。也就是说,我想 move/copy 在 table B 中具有 id = 1 的食物的值到 table A 其中 id = 1,等等所有值。我如何用 postgres 做到这一点?
顺便说一句,我知道我可以使用外键和连接,这不是问题所在。
我认为 Andrew Lazarus 在这里的回答正是您要查找的内容:updating table rows in postgres using subquery
它只是来自子 select 的更新,非标准 SQL 但在 Postgres 中非常有用。
在您的情况下,它可能类似于:
UPDATE A
SET food=subquery.food
FROM (SELECT id, food
FROM B) AS subquery
WHERE A.id=subquery.id;
我有两个 tableA 和 B。TableA 有一个名为 food 的列是空的,并且有一组唯一的 ID。 Table B 具有相同的匹配 ID 集和一组食物值。我想将食物的值从 B 获取到 A。也就是说,我想 move/copy 在 table B 中具有 id = 1 的食物的值到 table A 其中 id = 1,等等所有值。我如何用 postgres 做到这一点?
顺便说一句,我知道我可以使用外键和连接,这不是问题所在。
我认为 Andrew Lazarus 在这里的回答正是您要查找的内容:updating table rows in postgres using subquery
它只是来自子 select 的更新,非标准 SQL 但在 Postgres 中非常有用。
在您的情况下,它可能类似于:
UPDATE A
SET food=subquery.food
FROM (SELECT id, food
FROM B) AS subquery
WHERE A.id=subquery.id;