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

Concatenar subselect o subquery en una sola columna separado por coma

Estas en el tema de Concatenar subselect o subquery en una sola columna separado por coma en el foro de Mysql en Foros del Web. Buenas, Imaginemos que tenemos 2 tablas, con una relación maestro detalle simple. Código: Personas(id, nombre, apellido) Telefonos(id, idp, numero) Lo que se está buscando es ...
  #1 (permalink)  
Antiguo 02/04/2009, 07:05
 
Fecha de Ingreso: marzo-2006
Mensajes: 41
Antigüedad: 18 años, 1 mes
Puntos: 0
Concatenar subselect o subquery en una sola columna separado por coma

Buenas,

Imaginemos que tenemos 2 tablas, con una relación maestro detalle simple.

Código:
Personas(id, nombre, apellido)

Telefonos(id, idp, numero)
Lo que se está buscando es generar una consulta sql que genere el siguiente listado:

Código:
nombre, apellido, telefonos
"Juan", "Perez", "123, 456"
"Maria", "Lopez", "372, 423, 223"
"Jose", "Garcia", ""
Se me ocurre algo similar a esto:

Código:
SELECT nombre, apellido, XXX(
SELECT numero
FROM Telefonos t 
WHERE p.id = t.idp
) AS telefonos
FROM Personas p
Siendo XXX una función estandar de Mysql que logre concatenar un listado select.

Evitar soluciones con stored procedures por favor, lo que necesito es una función estandar de mysql. Si no existe, por favor decirlo.

Muchas Gracias!
  #2 (permalink)  
Antiguo 02/04/2009, 08:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Concatenar subselect o subquery en una sola columna separado por coma

Prueba con:

Código mysql:
Ver original
  1. SELECT p.nombre, p.apellido, group_concat(t.numero separator ',') FROM personas p inner join telefonos t on p.id = t.idp group by nombre;

Espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 02/04/2009, 11:30
 
Fecha de Ingreso: marzo-2006
Mensajes: 41
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Concatenar subselect o subquery en una sola columna separado por coma

Muchas gracias huesos :P

Te debo una, hasta la proxima.
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:37.