次のようにリンクされているレールアプリにデータベースがあります。人は、学校の規則を知っている学校を知っています。
Person に CanDoThis 列を作成し、それに関連する School Rules の IsThisAllowed 列を設定する移行を作成しようとしています。これは私がこれまでに持っているものですが、「テーブル名「school_rules」が複数回指定されました」というエラーが表示されます。
UPDATE people
SET people.canRunInHalls = school_rules.RunningInHallsIsAllowed
FROM school_rules
JOIN school_rules on school_rules.school_id = schools.id
JOIN schools ON schools.id = people.school_id;
何か新しいことを試してみました - このエラーが発生しました: エラー: テーブル "people" の FROM 句エントリへの参照が無効です
ヒント: テーブル「people」のエントリがありますが、クエリのこの部分からは参照できません。
UPDATE people
SET people.canRunInHalls = school_rules.RunningInHallsIsAllowed
FROM schools s
JOIN school_rules on school_rules.school_id = s.id
JOIN schools ON schools.id = people.school_id;
編集: スキーマの描画を試みます
people
-------------
id
school_id
canRunInHalls
schools
_______________
id
people
school_rules_id
school_rules
_______________
id
school_id
RunningInHallsIsAllowed