【发布时间】:2021-03-26 10:21:43
【问题描述】:
我有一个相当复杂的查询,我发现很难创建从FROM 中的同一子查询更新两个不同表的结果。我面临的困难表明我尝试了不正确的流程:
下面是我用于从子查询更新 table1 的脚本的一个极其简化的版本:
UPDATE
table1
SET
columnX= subquery.column2
FROM
(
SELECT column1, column2, column2
FROM table2
) AS subquery
WHERE subquery.column1 = table1.column1;
现在我需要将第三个表 (table3) 加入组合并将 table2(子查询).column2 映射到 INSERT 上的值。
我不能使用第二个查询来做到这一点,这将是理想的,因为子查询会生成必须跨 table1.columnX 和 table3.column1 持续存在的 UUID。
我可以在子查询中包含INSERT,同时仍然返回同一个子查询表吗?
【问题讨论】:
-
任何关于形成更好问题的建议将不胜感激。
-
样本数据和期望的结果真的很有帮助。
-
@GordonLinoff 是的,抱歉,我对答案一无所知,我对这个问题并不直截了当。我会尽快更新”
-
你在使用 uuid_ossp 吗?
标签: sql postgresql insert subquery insert-update