我尝试更新单个记录并通过执行链接到createdby
表的users
的INNER JOIN de ID来返回更新记录所有者的电子邮件。< / p>
以下是查询:
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
。
我做错了什么?
答案 0 :(得分:3)
在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;