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.