Foros del Web » Bases de Datos » SQL Server »

No puede aparecer un agregado en la lista establecida en una instrucción UPDATE.

Estas en el tema de No puede aparecer un agregado en la lista establecida en una instrucción UPDATE. en el foro de SQL Server en Foros del Web. Hola a todos: tengo la siguiente consulta de actualización la cual me marca el error que les dejo más abajo: UPDATE tabla SET campo = ...
  #1 (permalink)  
Antiguo 27/12/2005, 08:50
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 9 años, 7 meses
Puntos: 1
No puede aparecer un agregado en la lista establecida en una instrucción UPDATE.

Hola a todos:

tengo la siguiente consulta de actualización la cual me marca el error que les dejo más abajo:

UPDATE tabla SET campo = SUM(tabla2.precio)
FROM tabla2 INNER JOIN tabla3
ON tabla2.enlace = tabla3.enlace
WHERE algún filtro

Error:
No puede aparecer un agregado en la lista establecida en una instrucción UPDATE.

La verdad no sé como solucionarlo. Me podrían echar una mano?
Saludos y gracias por si tiempo...
  #2 (permalink)  
Antiguo 27/12/2005, 15:29
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 10 años, 2 meses
Puntos: 0
Crea una funcion

Hola,

Asi a primera idea...

puedes crear una funcion que haga el trabajo y devuelva el valor que deseas asignar al campo.

(Imagino que en el "WHERE algun filtro" relacionaras la TABLA con TABLA2..

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #3 (permalink)  
Antiguo 28/12/2005, 15:17
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 11 años, 5 meses
Puntos: 24
Preba usando una tabla temporal antes:

SELECR SUM(tabla2.precio) AS campo
INTO #tblTemp
FROM tabla2 INNER JOIN tabla3
ON tabla2.enlace = tabla3.enlace
WHERE algún filtro


UPDATE t1
SET t1.campo = t2.campo
FROM tabla t1 INNER JOIN #tblTemp t2
ON t1.enlace = t2.enlace
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:16.
SEO by vBSEO 3.3.2