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

Agrupar resultados

Estas en el tema de Agrupar resultados en el foro de Mysql en Foros del Web. Hola espero que estén bien, trataré se ser claro: tengo una tabla Empresas y otra Emails, obviamente cada empresa puede tener más de un email, ...
  #1 (permalink)  
Antiguo 29/11/2011, 10:36
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Agrupar resultados

Hola espero que estén bien, trataré se ser claro:

tengo una tabla Empresas y otra Emails, obviamente cada empresa puede tener más de un email, por lo tanto los guardo en esa tabla

Empresas
id
nombre_empresa

Emails
id
id_empresa
email



Lo que quiero saber si se puede hacer es consultar los datos de cada empresa en la tabla Empresas y al mismo tiempo
todos los emails de esta empresa, todo en una sola consulta



Código MySQL:
Ver original
  1. e.nombre_empresa ,
  2. em.email
  3.  
  4. FROM Empresas e
  5.  
  6. JOIN Emails em ON e.id = em.id_empresa

Esto me mostraría todos los emails y nombres de las empresas

Ahora yo quiero de algún modo guardar todos estos resultados o concatenarlos para luego mostrarlos.


entonces lo que quiero es obtener el nombre de la empresa (e.nombre_empresa AS nombre)
y todos sus emails (em.email AS todos_juntos)


Espero que se entienda, en realidad no se como expresarme
Gracias
__________________
la la la
  #2 (permalink)  
Antiguo 29/11/2011, 12:28
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Agrupar resultados

Bueno creo que no se entendió lo que quiero hacer, pido perdon por no saber expresarme para que me entiendan

Dejo esta img a ver si alcara un poco el asunto




osea quiero que al momento de mostrar, los email esten en una sola variable
__________________
la la la
  #3 (permalink)  
Antiguo 29/11/2011, 14:06
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Agrupar resultados

Bueno ya lo resolví, espero que le sirva a alguien:

Código MySQL:
Ver original
  1. e.nombre_empresa ,
  2. em.email
  3.  
  4. (SELECT GROUP_CONCAT(email)  FROM Emails Em  WHERE e.id = Em.id_empresa) AS todosemails
  5.  
  6. FROM Empresas e
  7.  
  8. JOIN Emails em ON e.id = em.id_empresa




GROUP_CONCAT nos devuelve todos los email separados por una coma
Saludos para todos




.
__________________
la la la

Última edición por truman_truman; 30/11/2011 a las 22:01

Etiquetas: agrupar, join, resultados, select, tabla
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 23:46.