如何使用postgresql中其他表的模式匹配在表中插入值?

如何使用postgresql中其他表的模式匹配在表中插入值?,postgresql,Postgresql,我想使用来自另一个表的引用在表中添加一个新列,例如 必须在表A中添加元素A.x,从表B中提取元素B.x,其中B.y=“某些字符串”以及表A的其他元素将以类似方式使用其他表C、D插入。您的问题留有解释的余地 如果“其他元素”指的是其他列,则可能如下所示: INSERT INTO a (x, col1, col2) SELECT b.x, c.col1, d.col2 FROM b JOIN c ON <join-condition> JOIN d ON <join-c

我想使用来自另一个表的引用在表中添加一个新列,例如
必须在表A中添加元素A.x,从表B中提取元素B.x,其中B.y=“某些字符串”以及表A的其他元素将以类似方式使用其他表C、D插入。您的问题留有解释的余地

如果“其他元素”指的是其他列,则可能如下所示:

INSERT INTO a (x, col1, col2)
SELECT b.x, c.col1, d.col2
FROM   b
JOIN   c ON <join-condition>
JOIN   d ON <join-condition>
WHERE  b.y = "some string";

您能展示一些示例数据和预期结果吗?我不知道你想得到什么。
INSERT INTO a (x)
SELECT x FROM b WHERE y = "some string"

UNION ALL
SELECT x FROM c WHERE y = "some string"

UNION ALL
SELECT x FROM d WHERE y = "some string";