update multiple example delete columns mysql sum sql-update where multiple-tables

mysql - multiple - UPDATE table1 SET column1=(SUM(table2{& table3} WHERE table2_id1=id1) WHERE id1=table2_id1



mysql update multiple columns (3)

Me gustaría actualizar table1 basado en una suma aplicada principalmente en table2 pero que incluye un solo valor de la tabla 3.

table2 tiene una columna que es FKd a la columna de id de table1, y la suma se basa en su coincidencia.

UPDATE table1, table2 SET table1.column1 = (SELECT SUM( (SELECT constant FROM table3) + (SELECT table2.sum_number WHERE table2.table2_id1 = table1.id) ) ) WHERE table1.id = table2.table2_id1;

Eso no funciona para mí.

¡Muchas gracias de antemano!

EDITAR: error dado

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''WHERE table2.table2_id1 = table1.id) ) ) WHERE table1.id = table2.table2_id1;''


Prueba esto:

UPDATE table1 t1 INNER JOIN table2 t2 ON t2.table2_id1 = t1.id SET t1.column1 = (SELECT constant FROM table3) + t2.sum_number


prueba esto:

Update table1 t1 join table2 t2 on t1.id = t2.table2_id1 SET t1.column1 = (SELECT constant FROM table3) + t2.sum_number


UPDATE table1, table2 SET table1.column1 = ( SELECT SUM( (SELECT constant FROM table3) + (SELECT table2.sum_number *** WHERE table2.table2_id1 = table1.id) ) ) WHERE table1.id = table2.table2_id1;

No hay "FROM table2, table1" en el área marcada con astericks arriba.