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

Consulta a tablas concatenando valores

Estas en el tema de Consulta a tablas concatenando valores en el foro de Mysql en Foros del Web. Holas buen dia. Tengo 3 tablas, uno para deportistas, otro para deportes, y otra para la relacion entre estos, o sea deportistas_deportes. Las tablas son ...
  #1 (permalink)  
Antiguo 03/05/2011, 06:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 71
Antigüedad: 14 años
Puntos: 24
Consulta a tablas concatenando valores

Holas buen dia.

Tengo 3 tablas, uno para deportistas, otro para deportes, y otra para la relacion entre estos, o sea deportistas_deportes.

Las tablas son simples, la tabla deportistas tiene un id y un nombre, al igual que la tabla deportes. La tabla de relacion, deportistas_deportes, tiene dos campos con ids de los registros de las tablas(lo comun para relacionar).

Ahora lo que deseo, es hacer una consulta que devuelva algo asi (ej.:):
deportista_id = 1
deportista_nombre = 'juan'
deportista_deportes = 'futbol, basket, karate'

Es decir, quiero que en base al deportista_id de la tabla deportistas, tome las relaciones que tiene con deportes, y junte todos los deporte_nombre en los que se relaciona en un string separado por coma.

Como se hace??

Ya conosco el CONCAT(), bueno me serviria mas CONCAT_WS() por el separador. Lo que nose hacer es la "subconsulta" que tome los registro de deportes y junte los registros en un string para unirlo a la consulta.

Gracias
  #2 (permalink)  
Antiguo 03/05/2011, 07:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 71
Antigüedad: 14 años
Puntos: 24
Respuesta: Consulta a tablas concatenando valores

Holas, paso a avisar que ya lo resolvi, dejo por si a alguien le sirve.

Código MySQL:
Ver original
  1. SELECT deportistas.deportista_id, deportista_name, group_concat( deporte_name ) AS deportes FROM deportistas_deportes
  2. JOIN deportistas ON deportistas.deportista_id = deportistas_deportes.deportista_id
  3. JOIN deportes ON deportes.deporte_id = deportistas_deportes.deporte_id

Saludos

Etiquetas: tablas
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 21:33.