Расширенный MySql Query: обновить таблицу с информацией из другой таблицы
-
05-07-2019 - |
Вопрос
Я хотел бы обновить таблицу в mySql данными из другой таблицы. Р>
У меня есть две таблицы "люди" и "бизнес". Таблица сотрудников связана с бизнес-таблицей столбцом с именем «business_id». Р>
Необходимая структура таблицы, первичный ключ помечен звездочкой (Таблица: столбцы): Люди: * business_id, * sort_order, email Бизнес: * business_id, электронная почта
Я хотел бы обновить столбец электронной почты бизнес-таблицы, добавив в него письмо из таблицы сотрудников, примерно так (я знаю, что здесь что-то не хватает):
UPDATE business b SET email = (SELECT email from People p where p.business_id = b.business_id AND sort_order = '1') WHERE b.email = '';
Имеет ли это смысл? Возможно ли это?
Решение
UPDATE business b, people p
SET b.email = p.email
WHERE b.business_id = p.business_id
AND p.sort_order = '1'
AND b.email = ''
Другие советы
Обратите внимание: если sort_order является INT, не используйте '1' - используйте 1:
UPDATE business b
JOIN People p
ON p.business_id = b.business_id
AND p.sort_order = '1'
SET b.email = p.email
WHERE b.email = '';
Попробуйте, у меня все работает нормально.
Update table a, table b
Set a.importantField = b.importantField,
a.importantField2 = b.importantField2
where a.matchedfield = b.matchedfield;
Не связан с StackOverflow