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

时间:2012-01-03 12:01:16

标签: postgresql

我想使用另一个表的引用在表中添加一个新列,例如 元素A.x必须添加到表A中,从表B中获取元素B.X,其中B.y =“some string”以及表A的其他元素将以类似的方式使用其他表C,D插入

1 个答案:

答案 0 :(得分:1)

你的问题留下了解释空间。

如果“其他元素”引用其他列,则可能如下所示:

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";