Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sumar registros de una tabla

Estas en el tema de Sumar registros de una tabla en el foro de Mysql en Foros del Web. Hola, tengo una tabla con una lista de productos de esta forma: Id Nombre Cantidad Estado 1 Blabla 1 1 1 Blabla 3 0 2 ...
  #1 (permalink)  
Antiguo 28/12/2012, 21:24
Avatar de Neldor  
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 10 meses
Puntos: 1
Sumar registros de una tabla

Hola, tengo una tabla con una lista de productos de esta forma:

Id Nombre Cantidad Estado
1 Blabla 1 1
1 Blabla 3 0
2 Blele 4 1
2 Blele 1 0

Necesito que los que tienen Estado 0 se sumen a los de Estado 1 utilizando Cantidad, y que evidentemente luego me desaparezcan los que tienen estado 0, por tanto debería quedarme una tabla así:
1 Blabla 4 1
2 Blele 5 1

Se que soy muy optimista para creer que pueda haber una sentencia que me permita eso (aunque sea una que me permita con un solo identificador) pero si alguien tuviera una buena idea para implementarlo lo agradecría muchísimo.
  #2 (permalink)  
Antiguo 29/12/2012, 09:04
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 13 años, 5 meses
Puntos: 42
Respuesta: Sumar registros de una tabla

Hola Neldor,

Algo como esto te puede ayudar SQL Fiddle

Espero te sea útil.
  #3 (permalink)  
Antiguo 29/12/2012, 09:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Sumar registros de una tabla

Tal y como planteas la tabla y sus resultad, es tan elemental como:
Código MySQL:
Ver original
  1. SELECT Id, Nombre, Cantidad, IF(Estado>0, 1, 0) Estado
  2. FROM (SELECT Id, Nombre, SUM(Cantidad) Cantidad, SUM(Estado) Estado
  3.      FROM productos
  4.      GROUP BY Id) T;

¿Es eso lo que quieres?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 29/12/2012, 17:04
Avatar de Neldor  
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Sumar registros de una tabla

La idea de unir viene de que el resultado debe guardarse en la tabla, no es tanto los datos que quiero obtener si no que estos se queden guardados, guardando la suma ahí donde el estado sea 1 y eliminandome los registros que tengan estado 0.

Se que puedo hacer el select que me ha dicho wchiquito y luego eliminar todos los registros para añadir el resultado del select, pero claro, son 3 consultas y quería saber si podría optimizarlo de alguna manera.

Etiquetas: juntar, productos, registros, cantidad
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 11:54.