L'istruzione UPDATE non supporta GROUP BY, vedere the documentation. Se stai cercando di aggiornare t1 con la riga corrispondente da T2, che ci si vuole utilizzare la clausola WHERE qualcosa di simile:
UPDATE table t1 SET column1=t2.column1
FROM table t2
JOIN table t3 USING (column2)
WHERE t1.column2=t2.column2;
Se è necessario raggruppare le righe da t2/t3 prima di assegnare a T1 , avresti bisogno di usare un qualcosa di subquery come questo:
UPDATE table t1 SET column1=sq.column1
FROM (
SELECT t2.column1, column2
FROM table t2
JOIN table t3 USING (column2)
GROUP BY column2
) AS sq
WHERE t1.column2=sq.column2;
Anche se come formulato che non funziona perché t2.column1 non è incluso nel GROUP BY (che avrebbe dovuto essere una funzione di aggregazione piuttosto che un semplice riferimento di colonna).
Altrimenti, che cosa stai cercando di fare esattamente qui?
Penso che sia necessario dimostrare più chiaramente cosa si vuole: fare riferimento a "t2.column1" quando si raggruppa per "t1.column2" non avrebbe senso in una semplice query. Inoltre, non stai specificando alcuna condizione che unisce t2 e t1, il che non ha molto senso. – araqnid
non penso che si possa fare con mysql almeno – shigeta