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

Duda sumatorias MySQL

Estas en el tema de Duda sumatorias MySQL en el foro de Mysql en Foros del Web. Hola, buenas tardes, Tengo una duda sobre un tema en particular con las sumatorias en MySQL. Les explico: Tengo la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 12/08/2014, 11:12
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Duda sumatorias MySQL

Hola, buenas tardes,

Tengo una duda sobre un tema en particular con las sumatorias en MySQL. Les explico:

Tengo la siguiente consulta:

Código SQL:
Ver original
  1. SELECT cat_titulo, ped_fecha_elaboracion, ped_fecha_cancelacion, ped_fecha_cobro, ped_id_pedido, ped_cantidad, ped_precio, ped_precio_costo, ped_iva, cli_razon_social FROM submod_pedidos LEFT JOIN config_catalogo ON(id_catalogo = ped_detalle) LEFT JOIN mod_pedidos ON(id_pedido = ped_id_pedido) LEFT JOIN mod_clientes ON(id_clientes = ped_id_cliente) WHERE cat_titulo IS NOT NULL ORDER BY cat_titulo

lo cuál me arroja el siguiente resultado:

Subido en subir imagenes

Bueno, mi duda es la siguiente: ¿es posible desde MySQL realizar una suma por cada grupo de productos? Es decir, es decir, una sumatoria sobre ped_precio del producto Disco Duro Seagate y así sobre todos los productos, ¿y al final realizar una suma total de todos los productos?

Si mal no recuerdo, en SQL Server, se puede hacer con stores procedures, pero no sé si en MySQL es posible. O para no romperme la cabeza, ¿es preferible realizarlo en otra consulta?

Espero haberme hecho entender, de antemano agradezco por sus comentarios.

Saludos!!
  #2 (permalink)  
Antiguo 12/08/2014, 11: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: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda sumatorias MySQL

Cita:
Bueno, mi duda es la siguiente: ¿es posible desde MySQL realizar una suma por cada grupo de productos? Es decir, es decir, una sumatoria sobre ped_precio del producto Disco Duro Seagate y así sobre todos los productos, ¿y al final realizar una suma total de todos los productos?
Es tan posible como en cualquier otro DBMS que se precie. Ahora bien, si tomo como base tu consulta, resulta inadecuada para lograr sumatorias de ese tipo, porque hay datos que no se ajustan a un agrupamiento, es decir, violarían la agregación, sea en MySQL como en SQL Server.
Me refiero a que hay datos que no aplicarían al uso de un SUM(), por lo que en todo caso eberías decirnos exactamente cómo sería el conjunto de datos que quieres agrupar, y ejemplificarnos el resultado que quieres obtener, para saber cómo obtenerlo en MySQL.
No sería improbable tener que usar stored procedures.
Los que te marco acá no se ajustan al uso de sumatorias agrupadas:
Código MySQL:
Ver original
  1. SELECT  
  2.          cat_titulo,                        # No aplica
  3.          ped_fecha_elaboracion,  # No aplica
  4.          ped_fecha_cancelacion,  # No aplica
  5.          ped_fecha_cobro,  # No aplica
  6.          ped_id_pedido,  # No aplica
  7.          ped_cantidad,
  8.          ped_precio,  # No aplica
  9.          ped_precio_costo,  # No aplica
  10.          ped_iva,  # No aplica
  11.          cli_razon_social  # No aplica
  12.     FROM submod_pedidos
  13.          LEFT JOIN config_catalogo ON (id_catalogo = ped_detalle)
  14.          LEFT JOIN mod_pedidos ON (id_pedido = ped_id_pedido)
  15.          LEFT JOIN mod_clientes ON (id_clientes = ped_id_cliente)
  16.    WHERE cat_titulo IS NOT NULL
  17. ORDER BY cat_titulo
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/08/2014, 11:54
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Duda sumatorias MySQL

En sí, necesitaría todos esos campos. Sin embargo la sumatoria que debo obtener es la cantidad de items vendidos por artículo (ped_cantidad), el importe total vendido (ped_precio), el costo total (ped_precio_costo) y el iva (ped_iva). Estos totales mostrarlos por cada artículo (como subtotales) y al final mostrar un total por todos los artículos.

Obteniendo un reporte como el siguiente:

Subido en subir imagenes

por ello, no sé si debe utilizar algún otro método o debo arreglar mis datos de salida desde PHP.

Saludos!!

Etiquetas: join, select, sql
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:33.