从Postgres中其他表的连接返回id更新

时间:2017-06-04 09:22:15

标签: sql postgresql join inner-join

我无法弄清楚如何在Postgres中做到这一点。

我有两个表,foobar

foo:id,number

bar:id,foo_id

bar中有一个与foo对应并输入的条目。我想更新foo并在我这样做时返回bar id。我虽然这样的东西可以工作,但我很难在Postgres上工作时加入更新。

我想做这样的事情:

UPDATE 
    foo f 
INNER JOIN
    bar b 
ON 
    f.id = b.foo_id 
SET 
    f.number = 1 
RETURNING 
    b.id

感谢。

1 个答案:

答案 0 :(得分:1)

您的语法已关闭,请尝试此操作:

UPDATE foo AS f
SET number = 1
FROM bar AS b
WHERE f.id = b.foo_id
RETURNING b.id

有许多参考文献可以向您展示如何在Postgres Stack Overflow being one of them中表达更新加入。