Подтвердить что ты не робот

Расширенный MySql-запрос: обновить таблицу с информацией из другой таблицы

Я хотел бы обновить таблицу в mySql с данными из другой таблицы.

У меня есть две таблицы "люди" и "бизнес". Таблица людей связана с бизнес-таблицей столбцом "business_id".

Обязательная структура таблицы, первичный ключ отмечен (Таблица: столбцы): Люди: * business_id, * sort_order, email Бизнес: * business_id, электронная почта

Я хотел бы обновить столбец электронной почты бизнес-таблицы по электронной почте из таблицы people, что-то вроде этого (я знаю, что мне что-то не хватает):

UPDATE business b SET email = (SELECT email  from People p where p.business_id = b.business_id AND sort_order = '1') WHERE b.email = ''; 
Это имеет смысл? Возможно ли это?
4b9b3361

Ответ 1

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 = ''

Ответ 2

Обратите внимание, что если 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 = '';