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

sumar o restar en MySQL

Estas en el tema de sumar o restar en MySQL en el foro de Mysql en Foros del Web. Tengo la tabla: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original articulo char ( 12 ) cantidad int ( 11 ) tipo int ( 1 )   ...
  #1 (permalink)  
Antiguo 14/10/2012, 23:33
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 11 meses
Puntos: 21
sumar o restar en MySQL

Tengo la tabla:

Código MySQL:
Ver original
  1. articulo char(12)
  2. cantidad int(11)
  3. tipo int(1)  --> Tipo de movimiento (1=Entrada, 2=salida)
y el contenido de la tabla es de 2 registros:

Código MySQL:
Ver original
  1. Articulo, Cantidad, Tipo
  2. 1, 100, 1  (Es una entrada con 100 piezas)
  3. 1, 20, 2    (Es una salida con 10 piezas)
Deseo generar la suma de movimientos, es decir

Código suma:
Ver original
  1. +100 entrada
  2. -10 salida
  3. --------
  4. +90 resultado
Pero obtengo 110, ya que ambas cantidades las sumo, la función que uso es:

Código PHP:
Ver original
  1. $consulta = mysql_query("
  2.  SELECT articulo, SUM(cantidad) AS piezas
  3.  FROM ventas
  4.  GROUP BY articulo  
  5.  ", $link) or die ("No se pudo ejecutar la consulta");

Deseo sumar las entradas y restar las salidas, es decir:
  • sumar las que tienen tipo 1
  • restar las que tienen tipo 2

Gracias por cualquier ayuda
  #2 (permalink)  
Antiguo 15/10/2012, 05:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: sumar o restar en MySQL

Código MySQL:
Ver original
  1. SELECT articulo, SUM(if(Tipo=1,cantidad,0)) as Entradas,
  2.              SUM(if(Tipo=2,cantidad,0)) as Salidas,
  3.              SUM(if(Tipo=1,cantidad,0)-if(Tipo=2,cantidad,0)) AS piezas
  4.  FROM ventas
  5.  GROUP BY articulo

Si?

From Ventas?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 15/10/2012, 09:19
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 11 meses
Puntos: 21
Respuesta: sumar o restar en MySQL

Infinitas gracias quimfv, funciona perfecto.
Lo que puse es un ejemplo, ahora lo estudiaré para incluirlo en mi aplicación.

Gracias

Etiquetas: registros, restar, select, sql, tabla, tipo
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 16:00.