Instrukcja UPDATE nie obsługuje GROUP BY, patrz the documentation. Jeśli próbujesz zaktualizować t1 z odpowiednim rzędzie od t2, którą chcesz użyć czegoś WHERE tak:
UPDATE table t1 SET column1=t2.column1
FROM table t2
JOIN table t3 USING (column2)
WHERE t1.column2=t2.column2;
jeśli trzeba grupować wiersze z T2/T3 przed przypisaniem do t1 , trzeba by użyć podzapytania coś takiego:
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;
Chociaż sformułowane, że nie będzie działać, ponieważ t2.column1 nie jest zawarte w oświadczeniu GROUP bY (musiałaby być funkcja kruszywo zamiast prostego odnośnika do kolumny).
W przeciwnym razie, co dokładnie próbujesz zrobić tutaj?
Sądzę, że trzeba wyraźniej zademonstrować, co chcesz: odwołanie się do "t2.column1", gdy grupujesz według "t1.column2", również nie ma sensu w zwykłym zapytaniu. Nie określasz też żadnych warunków łączących t2 i t1, co nie ma większego sensu. – araqnid
Nie sądzę, że można to zrobić za pomocą mysql co najmniej – shigeta