内部加入更新与在哪里更新Postgres中的每条记录
问题描述:
我试图更新单个记录并通过执行createdby
的链接到users
表的INNER JOIN de ID返回更新记录的所有者的电子邮件。内部加入更新与在哪里更新Postgres中的每条记录
这里的查询:
UPDATE requests
SET statusid = 2
FROM requests AS r
INNER JOIN users
ON r.createdby = users.id
WHERE r.id =10
RETURNING r.id, users.email;
但是,这将更新所有记录,而不是使用WHERE
的。
我在做什么错?
答
在Postgres中,您不重复在FROM
中更新的表格。所以:
UPDATE requests r
SET statusid = 2
FROM users u
WHERE r.createdby = u.id AND r.id =10
RETURNING r.id, u.email;