У меня есть база данных в приложении rails, которая связана следующим образом: Человек знает свою школу, которая знает, что это школьные правила.Используйте Update и объединяйтесь между тремя таблицами
Я пытаюсь написать миграцию, которая создает столбец CanDoThis в Person и заполняет его соответствующим столбцом 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;
Пытался что-то новое - получил эту ошибку: Ошибка: недопустимая ссылку на ОТ-п запись для таблицы «людей»
ПОДСКАЗКА: Существует запись для таблицы «людей», но он не может ссылаться из этой части запроса.
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;
EDIT: попытка рисования схемы
people
-------------
id
school_id
canRunInHalls
schools
_______________
id
people
school_rules_id
school_rules
_______________
id
school_id
RunningInHallsIsAllowed
Пробовал это, но тогда он дал мне «школы» было указано дважды. (Мне пришлось заменить проекты школами.) – mosquito242
Ну да, я этого не видел. Вы присоединились к PROJECTS, но тогда ни одна колонка в вашем соединении не присоединилась к PROJECTS. Это не хорошо. Я отредактировал свой ответ, но, не видя вашей схемы, я летел слепой. –
Можете ли вы взглянуть на мое редактирование? проекты были заменены школами, люди все еще там. Я попытаюсь описать схему лучше. – mosquito242