Como hacer un UPDATE tabla a partir de otra tabla con varios registros.

04/09/2003 - 20:25 por Enric | Informe spam
Hola; me interesa efectuar un UPDATE tabla1 a partir del sumatorio de varios
registros de otra tabla (tabla de movimientos), es decir, que para cada
clave de registro de 'tabla1' tengo que obtener la suma de un campo de la
tabla2 que tiene varios movimientos para la misma clave de tabla1; en
definitiva y a modo de ejemplo es: sumarizar en un campo de tabla1 todos los
registros de tabla2 (p.e. facturas del mismo vendedor).

La sentencia que yo he probado y que es evidente que no puede funcionar es:
UPDATE tabla1 Set tabla1.total_ventas = (SELECT SUM(total_factura) FROM
tabla2 WHERE tabla2.ejercicio = 2003 GROUP BY tabla2.codigo de vendedor

La tabla1 y la tabla2 se unen por un INNER JOIN de codigo_vendedor.

Me gustariá efectuar la actulización sin tener que recurir a la creación de
una tabla de trabajo.

Alguien me puede indicar como debo escribir esta consulta de actualización.


Saludos.
Enric
ege@tinet.fut.es
 

Leer las respuestas

#1 Liliana Sorrentino
04/09/2003 - 20:46 | Informe spam
Hola,
Probá:

UPDATE tabla1
SET total_ventas = total_ventas + (SELECT SUM(total_factura) FROM tabla2 t2
WHERE codigo_vendedor = t2.codigo_vendedor AND t2.ejercicio = 2003)

Saludos... Liliana.

"Enric" escribió en el mensaje
news:msL5b.1949084$
Hola; me interesa efectuar un UPDATE tabla1 a partir del sumatorio de


varios
registros de otra tabla (tabla de movimientos), es decir, que para cada
clave de registro de 'tabla1' tengo que obtener la suma de un campo de la
tabla2 que tiene varios movimientos para la misma clave de tabla1; en
definitiva y a modo de ejemplo es: sumarizar en un campo de tabla1 todos


los
registros de tabla2 (p.e. facturas del mismo vendedor).

La sentencia que yo he probado y que es evidente que no puede funcionar


es:
UPDATE tabla1 Set tabla1.total_ventas = (SELECT SUM(total_factura) FROM
tabla2 WHERE tabla2.ejercicio = 2003 GROUP BY tabla2.codigo de


vendedor

La tabla1 y la tabla2 se unen por un INNER JOIN de codigo_vendedor.

Me gustariá efectuar la actulización sin tener que recurir a la creación


de
una tabla de trabajo.

Alguien me puede indicar como debo escribir esta consulta de


actualización.


Saludos.
Enric



Preguntas similares