O.T.: ¿Se puede hacer un UPDATE con un valor calculado de una consulta? MySQL

69 views
Skip to first unread message

Alejandro Garcia G.

unread,
Sep 30, 2019, 5:38:58 PM9/30/19
to Comunidad de Visual Foxpro en Español
Saludos a todos.

Quiero saber si en una sola intrucción UPDATE se puede actualizar una columna trayendo el valor a actualizar desde una consulta a otra tabla, por ejemplo:

En la tabla A tengo un campo "valor" que debo actualizar de una consulta en la tabla B que contiene una columna "saldo" y tiene varios registros, los agrupo por el "codigo" del item, este "codigo" es el mismo para las dos tablas, osea es una llave. Algo así pienso yo pero no me da:

UPDATE tablaA SET valor = (SELECT SUM(saldo) AS saldo FROM tablaB GROUP BY codigo) WHERE codigo = XXXX

A modo amplio la idea que tengo es esa pero no la he logrado desarrollar, he puesto ese SELECT hasta en el WHERE.

¿Se puede algo así?
Message has been deleted

Jorge Bernardo Morales Hernandez

unread,
Sep 30, 2019, 6:19:25 PM9/30/19
to Comunidad de Visual Foxpro en Español

Pienso que te hace falta el WHERE dentro del subquery, y no creo que sea necesario el GROUP BY por ej.

UPDATE tablaA a
SET valor = (SELECT SUM(saldo) FROM tablaB b WHERE b.codigo = a.codigo)
WHERE codigo = XXXX

Saludos,

Alejandro Garcia G.

unread,
Sep 30, 2019, 6:20:32 PM9/30/19
to Comunidad de Visual Foxpro en Español
Gracias por la respuesta, voy a intentar hacerlo a ver si me deja. 

Alejandro Garcia G.

unread,
Sep 30, 2019, 6:25:13 PM9/30/19
to Comunidad de Visual Foxpro en Español
Jorge tenias razón, de esta manera pude realizar la consulta que estaba necesitando. Gracias por la respuesta, muy amable.

Alejandro.
Reply all
Reply to author
Forward
0 new messages