Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: yovaninu en 17 Noviembre 2010, 06:01 am



Título: Consulta un tanto rara
Publicado por: yovaninu en 17 Noviembre 2010, 06:01 am
Hola muchachos, me he topado con el sgte problema y no puedo resolverlo

tengo una tabla asi

campo1         campo2
juan               españa
juan               peru
maria             mexico
juan               argentina
maria             paris

yo quisiera ofrecer como resultado el siguiente resumen o listado a traves de una sentencia en mysql:

juan   | españa,peru,argentina
maria | mexico,paris

lo he intentado pero no he tenido exito, aver si me dan una mano


Título: Re: Consulta un tanto rara
Publicado por: cassiani en 17 Noviembre 2010, 06:40 am
Puedes hacerlo concatenando, usando CONCAT y GROUP_CONCAT, mira el ejemplo

Código
  1. mysql> SELECT * FROM ejemplos;
  2. +----+--------+-----------+
  3. | id | campo1 | campo2    |
  4. +----+--------+-----------+
  5. |  1 | juan   | espana    |
  6. |  2 | juan   | peru      |
  7. |  3 | maria  | mexico    |
  8. |  4 | juan   | argentina |
  9. |  5 | maria  | paris     |
  10. +----+--------+-----------+
  11. 5 ROWS IN SET (0,00 sec)
  12.  
  13. mysql> SELECT CONCAT(campo1," | ",GROUP_CONCAT(campo2)) AS resultado FROM ejemplos GROUP BY campo1;
  14. +------------------------------+
  15. | resultado                    |
  16. +------------------------------+
  17. | juan | espana,peru,argentina |
  18. | maria | mexico,paris         |
  19. +------------------------------+
  20. 2 ROWS IN SET (0,00 sec)
  21.  

saludos!!


Título: Re: Consulta un tanto rara
Publicado por: yovaninu en 17 Noviembre 2010, 22:03 pm
ok cassiani, una fantastica solucion

muchas gracias.