私は4つのテーブルを持っています。1つ目はボランティアのリスト、2つ目はサイトのリスト、3つ目はプロジェクトのリストです。プロジェクト行は、ボランティアと、IDとセクターと呼ばれる追加の列を持つサイトへの参照にすぎません。
3つのテーブルはすべて、 legacyと呼ばれる4番目のテーブルから派生しています。セクターと呼ばれる列のレガシーテーブルの各行からフィールドをプルし、プロジェクトテーブルの対応する行のセクター列に配置する必要があります。
プロジェクトテーブルを更新するときにレガシーテーブルに正しい行があることを知るには、ボランティアの名前と姓の列と、サイトの名前、自治体、州の列を、レガシーの対応する列と一致させる必要があります。
私のクエリは次のようになります。
UPDATE projects, legacy
SET
projects.sector = legacy.sector,
WHERE (SUBQUERY CONTAINING COMPARISONS OF OTHER FEILDS IN OTHER TABLES SUCH AS
volunteers.firstname = legacy.firstname
volunteers.lastname = legacy.lasttname
sites.province= legacy.province
sites.municipality= legacy.municipality
sites.name= legacy.name)
サブクエリはどうあるべきですか?