У меня есть две таблицы, и я хочу обновить поля в T1 для всех строк в левом соединении.
Для простого примера обновите все строки следующего набора результатов:
SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.id = T2.id WHERE T2.id IS NULL
В руководстве MySQL говорится, что:
Операторы UPDATE для нескольких таблиц могут использовать любые типы соединений, допустимые в инструкциях SELECT, например LEFT JOIN.
Но я не могу найти правильный синтаксис для этого в документированном UPDATE для нескольких таблиц.
Какой правильный синтаксис?
источник
То же самое можно применить к сценарию, в котором данные были нормализованы, но теперь вы хотите, чтобы в таблице были значения, найденные в третьей таблице. Следующее позволит вам обновить таблицу с информацией из третьей таблицы, которая нравится второй таблице.
Это было бы полезно в случае, когда у вас были пользователи и группы, и вы хотели, чтобы пользователь мог добавлять свои собственные вариации имени группы, поэтому первоначально вы захотите импортировать существующие имена групп в поле, где находится пользователь. собирается быть в состоянии изменить его.
источник
Я обновлю текст поля в таблице А
и прийти к такому результату:
где только одно поле из таблицы B принимается, но я приду к этому результату:
источник
источник
источник