SQL - sql para actualizar un campo de 1 tabla

 
Vista:

sql para actualizar un campo de 1 tabla

Publicado por ELIA (3 intervenciones) el 08/10/2003 14:27:03
Necesito actualizar un campo de una tabla, con el resultado de la suma de dos campos de otras dos tablas, es decir la tabla
A tiene un campo CAMPOA, que debe ser actualizado con la suma de los campos CAMPOB y CAMPOC pertenecientes a las tablas B
y C respectivamente, siempre para una clave concreta, es decir para un producto y fecha iguales en cada tabla.

Yo he intentado hacerlo mediante subconsultas pero me he bloqueado. Tambien lo he intentado con cursores pero no me ha
salido y creo q lo q debo de poner es un cursor. Podrías darme una pista?

Os expongo donde me ha bloqueado, igual me podeís dar una pista, porq sql es muy potente.

update tablaA
set CAMPOA=(select (B.CAMPOB + C.CAMPOC) sumacampoa

from tablaB B, tablaC C
WHERE (B.producto=c.producto) AND (B.fecha= C.fecha))
where (producto,fecha )= (select B.producto, B.fecha from tablaB B, tablaC C
WHERE (B.producto=c.producto) AND (B.fecha= C.fecha));

El error me dice q la subconsulta de una sola fila devuelve mas de una fila. FALTA UN CURSOR. GRACIAS A TODOS.


Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sql para actualizar un campo de 1 tabla

Publicado por Isaías Islas (5072 intervenciones) el 09/10/2003 00:26:07
Hola, hagalo asi:

UPDATE MyTabla SET MyCol = (b.MyColA+b.MyColB) FROM
MyTabla a JOIN MyTablaB b
ON a.MyLLave = b.MyLLave
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar