使用 postgresql 我有一个表,其中A包含company_name、department_name、一些其他数据和department.
我有另一个B简单company_name的表 ,department_name和did。(这是两个有关系的表,但我从中制作了一个视图以使语法更容易。)
我想设置A.department为B.did具有匹配名称的行。它是规范化过程的一部分。
根据这个问答我试过:
UPDATE A
SET department=did
FROM A AS A
INNER JOIN B
ON A.company_name = B.company_name AND A.department_name=B.department_name;
但我得到的结果是A.department,所有行都设置为相同的值。
(我也从这里尝试了不同的语法,但得到了预期的语法错误。)
为什么这不起作用,更具体地说,为什么行没有正确匹配。当我尝试SELECT加入时,我得到了预期的结果。