Обновить таблицу MySQL с помощью ОБЪЕДИНЕНИЯ и ГРУППЫ ПО

#mysql

#mysql

Вопрос:

Я пытаюсь обновить таблицу путем объединения с двумя другими таблицами, но мне нужно сгруппировать по идентификатору обновленной таблицы, что-то вроде :

 UPDATE T1
SET T1.AForeignID = T3.ID
FROM TableOne T1 
LEFT JOIN TableTwo T2 ON T2.ID = T1.BForeignID 
LEFT JOIN TableThree T3 ON T3.Code = T2.Code AND T3.ACode  = T1.ACode 
GROUP BY T1.ID
  

Но я не могу использовать GROUP BY, это показывает ошибку.

Ответ №1:

Вы не можете использовать group by без функции агрегирования (min(), max(), count().

предложение GROUP BY определяет столбцы, которые используются для выполнения агрегирования

 UPDATE T1
FROM TableOne T1 
LEFT JOIN TableTwo T2 ON T2.ID = T1.BForeignID 
LEFT JOIN TableThree T3 ON T3.Code = T2.Code AND T3.ACode  = T1.ACode 
SET T1.AForeignID = T3.ID
  

и обновление с помощью join должно использовать ОБНОВЛЕНИЕ.. От.. Синтаксис ОБЪЕДИНЕНИЯ

..