Ответ 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 = ''
Я хотел бы обновить таблицу в 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 = '';
Это имеет смысл? Возможно ли это?
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 = '';