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

como puedo sumar

Estas en el tema de como puedo sumar en el foro de Mysql en Foros del Web. hola como estan tengo la siguiente consulta como puedo clasificar productos y lusgo sumarlos por ej: _____________________________ Productos |Clase_Productos|Total| _____________________________ Manzanas | Rojas |45 | ...
  #1 (permalink)  
Antiguo 06/07/2009, 07:43
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
como puedo sumar

hola como estan

tengo la siguiente consulta como puedo clasificar productos y lusgo sumarlos por ej:

_____________________________
Productos |Clase_Productos|Total|
_____________________________
Manzanas | Rojas |45 |
_____________________________
Manzanas |Verdes |15 |


Actualmete me envia todo junto no clasifica los resultados por clase de productos


este es la consulta que tengo


Código PHP:
$consulta ="select op.Fecha as Fecha,op.id_op as numero,p.Cantidad, c.Nombre as Cliente, prod.Nombre as Producto,e.Nombre as Trabajador,e.Apellido as Apellido
from tbl_op as op, tblproducciones as p, tblclientes as c, tblproducto as prod,tblempleados as e
where "
.$fechas.$id_opPOST." p.id_op=op.id_op and 
op.Id_Empleado=e.Id_Empleado and c.id_Cliente=op.id_Cliente and prod.id_Producto=p.id_Producto Order by Fecha" 

si e pueden dar una mano
gracias
  #2 (permalink)  
Antiguo 06/07/2009, 08:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

A83
No te entiendo la consulta que pones y nada tiene que ver con las especificaciones que haces al principio.

Con respecto a la clasificación de resultados, todo se logra con group by.

Código sql:
Ver original
  1. SELECT productos,clase_productos,SUM(cantidad)total FROM tablas GROUP BY clase_productos;


EDITO: jejejeje si jurena... y a decir exactamente lo mismo.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 06/07/2009, 08:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: como puedo sumar

Esa consulta que nos has puesto, no tiene nada que ver con el resultado que muestras en al principio.
Si quieres que te agrupe por dos campos, debes indicarlo:
Código sql:
Ver original
  1. SELECT Productos, Clase_Productos, SUM(cantidad) TOTAL FROM tu_tabla GROUP BY Productos, Clase_Productos
Eh, huesos52, llegaste antes, otra vez.;)
  #4 (permalink)  
Antiguo 06/07/2009, 08:32
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

Mire esto http://www.rymchile.cl/siap/buscarsi...ca_traopcc.php

seleciona por ej Lopez Meza si se dan cuenta el resultado no me los suma sino que me los muestra separados atento asus sugerencias
  #5 (permalink)  
Antiguo 06/07/2009, 09:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

Pero en la sentencia que pones... no estas sumando ningún campo.
utiliza la función sum como se muestra en los ejemplos y aplicalo a tu consulta.

Nos cuentas como te va
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 06/07/2009, 09:31
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

Código PHP:
 $consulta ="select op.Fecha as Fecha,op.id_op as numero,p.Cantidad, c.Nombre as Cliente, prod.Nombre as Producto,e.Nombre as Trabajador,e.Apellido as Apellido
from tbl_op as op, tblproducciones as p, tblclientes as c, tblproducto as prod,tblempleados as e
where "
.$fechas.$id_opPOST." p.id_op=op.id_op and 
op.Id_Empleado=e.Id_Empleado and c.id_Cliente=op.id_Cliente and prod.id_Producto=p.id_Producto"


este es la cosnulta
  #7 (permalink)  
Antiguo 06/07/2009, 09:40
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

prueba esto
Código sql:
Ver original
  1. SELECT op.Fecha AS Fecha,op.id_op AS numero,SUM(p.Cantidad), c.Nombre AS Cliente, prod.Nombre AS Producto,e.Nombre AS Trabajador,e.Apellido AS Apellido
  2. FROM tbl_op AS op INNER JOIN tblproducciones AS p ON p.id_op=op.id_op INNER JOIN tblclientes AS c ON
  3. c.id_Cliente=op.id_Cliente INNER JOIN tblproducto AS prod ON prod.id_Producto=p.id_Producto
  4. INNER JOIN tblempleados AS e ON op.Id_Empleado=e.Id_Empleado
  5. WHERE ".$fechas.$id_opPOST." GROUP BY numero;

Pero pruebala desde mysql directamente. y mira si te da los datos que quieres
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 06/07/2009, 09:43
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

me envia este error
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY u.categoria = c.id_ClasesProducto and f.id_Cliente = cl.id_Cliente
' at line 1


cabien la cosnulta por una mas chica esta es
Código PHP:
SELECT f.Fecha,p.Nombre,c.Nombre,sumu.Cantidad),f.id_Guia,u.id_Guia,cl.Nombre

from tblguias 
as f,tblproducto as p,tblclasesproducto as c,tblguiasdetalle as u,tblclientes as cl where 

f
.id_Guia=u.id_Guia and
 
f.id_Cliente=cl.id_Cliente and 

u.Categoria=p.id_Producto and ---->  estoy  comparando  la  categoria  x el Producto

 GROUP BY u
.categoria=c.id_ClasesProducto and ---->estoy  comparando las    clases  de  producto

f
.id_Cliente=cl.id_Cliente 
  #9 (permalink)  
Antiguo 06/07/2009, 09:47
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

Realiza las relaciones de las tablas con inner join y no desde el where. Si bien la salida es la misma es mucho mas optimo realizar anidamientos haciendo uso de las clausulas join.

Con respecto al error...
Cita:
right syntax to use near 'GROUP BY u.categoria = c.id_ClasesProducto and f.id_Cliente = cl.id_Cliente
No veo esto en la consulta que te pasé.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 06/07/2009, 09:49
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

hay lo actalize me envia el mismo error nuca e trabajado con join
  #11 (permalink)  
Antiguo 06/07/2009, 09:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

Con join es muy sencillo y mucho mas optimo..
Un ejemplo sencillo en 2 tablas que aplica para n tablas y que son totalmente equivaletes en la salida.

Código sql:
Ver original
  1. SELECT tabla1.campos,tabla2.campos FROM tabla1,tabla2
  2. WHERE tabla1.codigo=tabla2.codigo;
Es equivalente a

Código sql:
Ver original
  1. SELECT tabla1.campos,tabla2.campos FROM tabla1 INNER JOIN tabla2
  2. ON tabla1.codigo=tabla2.codigo;

Con respecto al error, donde nice near 'error' se refiere a un error de sintaxis. No puedes hacer igualaciones despues de una sentencia group by.

Postea la consulta exactamente como la ejecutas desde mysql y te muestra ese error.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #12 (permalink)  
Antiguo 06/07/2009, 10:08
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

voy hacerlo como me dice tu dame unos segundos para hacerlo
  #13 (permalink)  
Antiguo 06/07/2009, 10:10
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

Código PHP:
SELECT *
FROM   tblguias
       INNER JOIN tblguiasdetalle
          ON tblguias
.id_Guia tblguiasdetalle.id_Guia 

lo tengo de esta forma y me esta resultado bien pero como lo ago para seguir comparado tengo que seguir colocando join o le pongo el ON
  #14 (permalink)  
Antiguo 06/07/2009, 10:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

Código sql:
Ver original
  1. SELECT *
  2. FROM   tblguias
  3.        INNER JOIN tblguiasdetalle
  4.           ON tblguias.id_Guia = tblguiasdetalle.id_Guia  
  5.        INNER JOIN otra_tabla
  6.           ON tblguias.id_Guia = otra_tabla.campo
  7.        INNER JOIN otra_tabla_n
  8.           ON tblguias.id_Guia = otra_tabla_n.campo

Por cada joi, haces la comparacion con ON.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #15 (permalink)  
Antiguo 06/07/2009, 10:19
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

mmm es mucho mas ordenado
excelemte y como lo ago para cuando tenga que hacer esto SUM(cantidad) TOTAL FROM tu_tabla GROUP BY Productos, Clase_Productos
  #16 (permalink)  
Antiguo 06/07/2009, 10:23
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

es totalmente igual.

Despues que anides hasta la ultima tabla, va el where respectivo. Posteriormente el group by u order by.

Código sql:
Ver original
  1. SELECT campo1,campo2,SUM(campo1)total
  2. FROM   tblguias
  3.        INNER JOIN tblguiasdetalle
  4.           ON tblguias.id_Guia = tblguiasdetalle.id_Guia  
  5.        INNER JOIN otra_tabla
  6.           ON tblguias.id_Guia = otra_tabla.campo
  7.        INNER JOIN otra_tabla_n
  8.           ON tblguias.id_Guia = otra_tabla_n.campo
  9.        WHERE campo=condicion GROUP BY campo,campo2;

El sum se pone en el campo de la consulta principal
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #17 (permalink)  
Antiguo 06/07/2009, 11:32
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

bien hay lo saque
siiii jajajaj excelente
pero tengo otra duda como lo ago para que me aparesca en texto y no en numero por ej paller = 1 me muestra solo el numero

esta es la cosnulta:
Código PHP:
SELECT categoria,cantidad,sum(Cantidadtotal
FROM   tbl_op
       INNER JOIN tblproducciones
          ON tbl_op
.id_op tblproducciones.id_op
       INNER JOIN tblclasesproducto
          ON tblproducciones
.Categoria=tblproducciones.Categoria 
        where categoria
=categoria Group By categoria
  #18 (permalink)  
Antiguo 06/07/2009, 11:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

No se si te entiendí bien, pero creo que necesitas esto.

Código mysql:
Ver original
  1. SELECT categoria,cantidad,concat("paller = ",sum(Cantidad)) total
  2. FROM   tbl_op
  3.        INNER JOIN tblproducciones
  4.           ON tbl_op.id_op = tblproducciones.id_op
  5.        INNER JOIN tblclasesproducto
  6.           ON tblproducciones.Categoria=tblproducciones.Categoria  
  7.         where categoria=categoria Group By categoria;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #19 (permalink)  
Antiguo 06/07/2009, 12:56
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

pero lo tendria que hacer por cada producto
  #20 (permalink)  
Antiguo 06/07/2009, 13:01
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

no me entendiste mal


yo en una tabla tego los nombre ej

pallet, Marcos .Cholguna. etc
y en la tabla relacionada solo guardo el numero (formato Int) me captas.

lo que nose es como puedo mostar el resultado con su nombre
Código PHP:
categoria cantidad     total
1     100     pallet 
54825888
4     111     pallet 
1730014
5     25     pallet 
23816
17     3     pallet 
104
18     44     pallet 
15860
20     150     pallet 
164528
22     4     pallet 
4702204
24     1400     pallet 
489190 
si te fijas categoria me lo esta mostrando como numerico
  #21 (permalink)  
Antiguo 06/07/2009, 13:42
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

bien...
establece la relación con inner join con la tabla que tiene los nombres y llama el nombre en la consulta que incluye el concat como te lo mostré anteriormente.

Código sql:
Ver original
  1. concat(campo_nombre," = ",SUM(cantidad))

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #22 (permalink)  
Antiguo 06/07/2009, 14:48
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: como puedo sumar

pero el nombre de que parte lo estoy sacando

Código PHP:
SELECT categoria,cantidad,concat(Nombre," = ",sum(cantidad))
FROM   tbl_op
       INNER JOIN tblproducciones
          ON tbl_op
.id_op tblproducciones.id_op
       INNER JOIN tblclasesproducto
          ON tblproducciones
.Categoria=tblproducciones.Categoria 
        where categoria
=categoria Group By categoria 
  #23 (permalink)  
Antiguo 06/07/2009, 15:05
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: como puedo sumar

No te entiendo a83.

Pon una salida de lo que te sale y otra de como lo quieres.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 18:54.