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

Agrupación de datos según X campo

Estas en el tema de Agrupación de datos según X campo en el foro de Mysql en Foros del Web. Buenas gente, Tengo una duda con una agrupación de datos en MYSQL. La consulta en cuestión es la siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original ...
  #1 (permalink)  
Antiguo 08/12/2015, 16:19
 
Fecha de Ingreso: junio-2009
Mensajes: 138
Antigüedad: 14 años, 10 meses
Puntos: 4
Agrupación de datos según X campo

Buenas gente,

Tengo una duda con una agrupación de datos en MYSQL.

La consulta en cuestión es la siguiente:

Código MySQL:
Ver original
  1. SELECT p.ticket, p.rut, p.total, pd.id_producto, pr.descripcion
  2. FROM pedido p
  3. INNER JOIN pedido_detalle pd ON p.ticket=pd.ticket
  4. INNER JOIN producto pr ON pd.id_producto=pr.id_producto
  5. WHERE p.rut = 'XXX'
  6. GROUP BY p.total
  7. ORDER BY ticket DESC

Necesito que los datos se muestren luego de la siguiente forma:



Todos los nombres de productos agrupados, un solo valor(total) y un solo código de ticket.

¿Alguien podría ayudarme? Llevo bastantes horas dándole vueltas.

De antemano, gracias
  #2 (permalink)  
Antiguo 08/12/2015, 16:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Agrupación de datos según X campo

Seria algo como esto:

Código MySQL:
Ver original
  1. SELECT p.ticket,pr.descripcion,sum(p.total) as total
  2. FROM pedido p
  3. INNER JOIN pedido_detalle pd ON p.ticket=pd.ticket
  4. INNER JOIN producto pr ON pd.id_producto=pr.id_producto
  5. WHERE p.rut = 'XXX'
  6. GROUP BY p.descripcion,p.ticket
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 08/12/2015, 16:34
 
Fecha de Ingreso: junio-2009
Mensajes: 138
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Agrupación de datos según X campo

Buscando un poco más logré hacerlo así:

Código MySQL:
Ver original
  1. SELECT p.ticket, p.rut, p.total, GROUP_CONCAT(pr.descripcion SEPARATOR ' + ')
  2. FROM pedido p
  3. INNER JOIN pedido_detalle pd ON p.ticket=pd.ticket
  4. INNER JOIN producto pr ON pd.id_producto=pr.id_producto
  5. WHERE p.rut = 'XXX'
  6. GROUP BY p.ticket
  7. ORDER BY ticket DESC

Función que desconocía de MYSQL :P

Gracias de todas maneras Libras :)
  #4 (permalink)  
Antiguo 08/12/2015, 16:38
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Agrupación de datos según X campo

Pues sin conocer los datos y cuando preguntas por una funcion de agregado es dificil llegar a dar con que ocupas un concat :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, join, según, 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 17:45.