Foros del Web » Programando para Internet » PHP »

Problema con update en SQL

Estas en el tema de Problema con update en SQL en el foro de PHP en Foros del Web. Hola, los molesto ya que tengo un problemilla que no he podido solucionar. Tengo en una query que he realizado los siguientes resultados: --SELECT DEVUELVE ...
  #1 (permalink)  
Antiguo 24/04/2015, 13:24
 
Fecha de Ingreso: junio-2011
Ubicación: uruguay
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 0
Problema con update en SQL

Hola, los molesto ya que tengo un problemilla que no he podido solucionar.

Tengo en una query que he realizado los siguientes resultados:

--SELECT DEVUELVE ESTO:

Código PHP:
Arbol---tipoArbol---CantidadHojas--                 EdadArbol
1         A                 3                        52
2         A                 7                        52
3         A                 8                        52
3         A                 9                        52
2         A                 1                        52
4         A                 3                        52 

A su vez, tengo otra tabla "Nuevatabla" que es la que debo Updatear

Código PHP:
Arbol---tipoArbol---CantidadHojas--                EdadArbol
1         A                 11                        52
2         A                 599                      52
3         A                 80                        52 

Necesito a partir del select que devuelve los primeros resultados, tengo que actualizar la tabla "Nuevatabla" de forma que cada Arbol acumule cantidad de hojas. En la tabla "Nuevatabla" hay 1 registro unico de cada arbol, mientras que en la consulta de arriba pueden haber varios registros del mismo arbol con distinta cantidad de hojas. Puede pasar que el select me traiga un arbol que AUN no está en la tabla "Nuevatabla"

Estuve intentando hacer mi select dentro del update pero no tuve suerte, alguien puede tirarme alguna idea para comenzar?

Gracias!
  #2 (permalink)  
Antiguo 24/04/2015, 15:49
 
Fecha de Ingreso: febrero-2015
Ubicación: Chile
Mensajes: 4
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Problema con update en SQL

Tienes que hacer un update desde un select.


UPDATE tabla1
SET tabla1campo1 = tabla2agregada.campo1agregado
FROM tabla1 t1, (SELECT campoX, SUM(t2.tabla2campo1) campo1agregado
FROM tabla1 t1, tabla2 t2
WHERE t1.campoX=t2.campoX
GROUP BY t1.campoX) tabla2agregada
WHERE t1.campoX = tabla2agregada.campoX

Se entiende?

Saludos,

MR
  #3 (permalink)  
Antiguo 27/04/2015, 06:31
 
Fecha de Ingreso: junio-2011
Ubicación: uruguay
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema con update en SQL

Cita:
Iniciado por mauro_seo Ver Mensaje
Tienes que hacer un update desde un select.


UPDATE tabla1
SET tabla1campo1 = tabla2agregada.campo1agregado
FROM tabla1 t1, (SELECT campoX, SUM(t2.tabla2campo1) campo1agregado
FROM tabla1 t1, tabla2 t2
WHERE t1.campoX=t2.campoX
GROUP BY t1.campoX) tabla2agregada
WHERE t1.campoX = tabla2agregada.campoX

Se entiende?

Saludos,

MR
El problema es que una de las condiciones la saco de un case de otra consulta y no me permite asi:


UPDATE A
SET A.hojas = RA.(case
when (round(hojas*-1, -1)) < '100' then '1'
when (round(hojas*-1, -1)) between '100' and '199' then '2'
else '3'
end as 'hojas')
from NuevaTabla A
INNER JOIN TablaArboles RA
ON A.arbol = RA.arbol

Como hago para darle el valor del CASE al SET en RA.???

Gracias

Etiquetas: registro, select, sql, tabla, update
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 15:38.