Postgresql:在匹配 id 时从另一个 table 插入值
Postgresql : Insert values from another table while matching id's
我正在尝试构建以下查询:
INSERT INTO table1 (field1, field2)
VALUES (field1, field2) FROM table2
WHERE table2.id = table1.id
从逻辑上讲,由于 WHERE 条件,我收到了“用作表达式的子查询返回的多行”错误,但无法获得解决方法的线索,也无法在现有帖子中找到匹配的案例目前。我测试了这个 approach 但它失败了 ...
感谢您的帮助
我怀疑您真正想要的是用 table2
:
的匹配行更新 table1
的行
UPDATE table1 AS t1
SET (field1, field2) = (t2.field1, t2.field2)
FROM table2 AS t2
WHERE t2.id = t1.id
我正在尝试构建以下查询:
INSERT INTO table1 (field1, field2)
VALUES (field1, field2) FROM table2
WHERE table2.id = table1.id
从逻辑上讲,由于 WHERE 条件,我收到了“用作表达式的子查询返回的多行”错误,但无法获得解决方法的线索,也无法在现有帖子中找到匹配的案例目前。我测试了这个 approach 但它失败了 ...
感谢您的帮助
我怀疑您真正想要的是用 table2
:
table1
的行
UPDATE table1 AS t1
SET (field1, field2) = (t2.field1, t2.field2)
FROM table2 AS t2
WHERE t2.id = t1.id