postgresql を使用して、A
列company_name
、department_name
、その他のデータ、および を含むテーブルがありますdepartment
。
、、およびB
だけの別のテーブルがあります。(これは間に関係がある 2 つのテーブルですが、構文を簡単にするためにビューを作成しました。)company_name
department_name
did
名前が一致する行のに設定A.department
したい。B.did
これは正規化プロセスの一部です。
このQ&Aによると、私は試しました:
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
すべての行が同じ値に設定されているという結果が得られます。
( hereとは別の構文も試しましたが、予想どおり構文エラーが発生します。)
なぜそれが機能しないのか、より具体的には、行が適切に一致しないのはなぜですか。SELECT
その結合を試みると、期待される結果が得られます。