Таблица обновления MySQL на основе другого значения таблиц

У меня есть две таблицы,

Вот моя первая таблица,

ID SUBST_ID CREATED_ID 1 031938 TEST123 2 930111 COOL123 3 000391 THIS109 4 039301 BRO1011 5 123456 COOL938 ... ... ... 

Это мой второй стол,

 ID SERIAL_ID BRANCH_ID 1 039301 NULL 2 000391 NULL 3 123456 NULL ... ... ... 

Мне нужно как-то обновить все строки в моей второй таблице, используя данные из моей первой таблицы.

Это нужно будет сделать все в одном запросе обновления.

И как SUBST_ID, так и SERIAL_ID совпадают, он должен захватить created_id из первой таблицы и вставить ее во вторую таблицу.

Таким образом, вторая таблица станет следующей,

 ID SERIAL_ID BRANCH_ID 1 039301 BRO1011 2 000391 THIS109 3 123456 COOL938 ... ... ... 

Благодарим вас за помощь и рекомендации.

 UPDATE TABLE2 JOIN TABLE1 ON TABLE2.SERIAL_ID = TABLE1.SUBST_ID SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID; 

В дополнение к ответу Тома, если вам нужно повторить операцию часто и вы хотите сэкономить время, вы можете сделать:

 UPDATE TABLE1 JOIN TABLE2 ON TABLE1.SUBST_ID = TABLE2.SERIAL_ID SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID WHERE TABLE2.BRANCH_ID IS NULL 
 UPDATE TABLE2 JOIN TABLE1 ON TABLE1.SUBST_ID = TABLE2.SERIAL_ID SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID WHERE TABLE2.BRANCH_ID IS NULL or TABLE2.BRANCH_ID=''; 

Я думаю, это должно сработать

 UPDATE secondTable JOIN firsTable ON secondTable.SERIAL_ID = firsTable.SUBST_ID SET BRANCH_ID = CREATED_ID 

Использование INNER JOIN :

 UPDATE TABLE1 INNER JOIN TABLE2 ON TABLE1.SUBST_ID = TABLE2.SERIAL_ID SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID; 

Другое альтернативное решение, подобное ниже: здесь я использую WHERE вместо JOIN

 UPDATE TABLE1, TABLE2 WHERE TABLE1.SUBST_ID = TABLE2.SERIAL_ID SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID; 

Вы также можете использовать это:

 update TABLE1 set BRANCH_ID = ( select BRANCH_ID from TABLE2 where TABLE1.SUBST_ID = TABLE2.SERIAL_ID) 

но с моим опытом я могу сказать, что этот способ настолько медленный и не рекомендуется!

Давайте будем гением компьютера.