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

ayuda con subconsulta para agrupar datos

Estas en el tema de ayuda con subconsulta para agrupar datos en el foro de Mysql en Foros del Web. Buenas, tengo una aplicacion para gestionar recursos y materiales de la universidad, uno de los informes que tengo que haces es por materiales, para generar ...
  #1 (permalink)  
Antiguo 19/12/2007, 11:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
ayuda con subconsulta para agrupar datos

Buenas, tengo una aplicacion para gestionar recursos y materiales de la universidad, uno de los informes que tengo que haces es por materiales, para generar los informes use el fpdf y ya me los genera, lo que me gustaria saber si hay alguna forma de hacer la subconsulta para que solo me sake el material con su cantidad gastada, sin que se duplike


Familia Material ID_pedido Cantidad Fecha Hora Estado

Boligrafos Bic Azul 1 15 2007-12-19 17:30 atendido
Boligrafos Bic Negro 2 2 2007-12-19 18:00 atendido
Boligrafos Bic Azul 3 2 2007-12-19 18:01 pendiente


la consulta fue:

SELECT id_familia_material AS Familia, id_nombre_material AS Material, id_pedido_material AS ID_Pedido, cantidad AS Cantidad, fecha AS Fecha, hora AS Hora, estado AS Estado FROM pedido_material WHERE fecha BETWEEN '".$fecha_informe_ini."' AND '".$fecha_informe_fin."' ORDER BY id_familia_material, id_nombre_material;

A ver si alguno me puede dar una pista, para que al ahcer la consulta en vez de que me salga bic azul 15 und otra vez bic azul 2 und, pues que me salga solo una vez bic azul con el total de unidades, bic azul 17 und, obviamente, tendria que eliminar los campos de id_pedido, fecha, hora y estado.....Ke kedase asi

Familia Material Cantidad

Boligrafos Bic Azul 17
Boligrafos Bic Negro 2



gracias y un saludo a este gran foro.
  #2 (permalink)  
Antiguo 19/12/2007, 16:00
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: ayuda con subconsulta para agrupar datos

La respuesta que buscas es el GROUP BY.
Mira esto:
http://dev.mysql.com/doc/refman/5.0/es/select.html

En tu caso la consulta sería:
SELECT id_familia_material AS Familia, id_nombre_material AS Material, SUM(cantidad AS Cantidad) FROM pedido_material WHERE fecha BETWEEN '".$fecha_informe_ini."' AND '".$fecha_informe_fin."' ORDER BY id_familia_material, id_nombre_material GROUP BY Familia, Material;

El Id de pedido no lo puedes tener (excepto que te sirva que vengan todos juntos, en cuyo caso lo que deberías usar es un GROUP_CONCAT. Para más información sobre las funciones que puedes utilizar en un Group By ve a: http://dev.mysql.com/doc/refman/5.0/es/group-by-functions.html
  #3 (permalink)  
Antiguo 19/12/2007, 16:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuda con subconsulta para agrupar datos

muchisimas gracias tron, rula perfectamente ;)
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 14:17.