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

duda relaciones n:n

Estas en el tema de duda relaciones n:n en el foro de Mysql en Foros del Web. Vamos a ver, tengo esta duda desde hace tiempo a ver si alguien me la puede resolver. Caso típico, tengo una tabla usuarios y otra ...
  #1 (permalink)  
Antiguo 26/02/2007, 17:01
 
Fecha de Ingreso: agosto-2003
Mensajes: 102
Antigüedad: 21 años, 3 meses
Puntos: 0
duda relaciones n:n

Vamos a ver, tengo esta duda desde hace tiempo a ver si alguien me la puede resolver.

Caso típico, tengo una tabla usuarios y otra de grupos. Cada usuario puede estar en múltiples grupos. Mi diseño:

TABLA USUARIOS
id | nombre | apellidos

TABLA GRUPOS
id | grupo

TABLA GRUPO_USUARIO
grupo_id | usuario_id

Mi duda es la siguiente, si yo quiero sacar un listado de registros que contengan el nombre de usuario y los grupos que pertenece.

Por ejemplo:
1 | Juan | Grupo1 - Grupo2 - Grupo3

o

1 | Juan | Grupo1 | Grupo2 | Grupo3
2 | Marta | Grupo2

Actualmente lo que hago es sacar primero todos los usuarios, a partir de ahy para cada uno de ellos busco a que grupos pertenece. Y la verdad no me parece una forma muy optimizada ya que el resultado es que al final se realizan tantas consultas como usuarios hay.

¿Como resolvéis vosotros estos casos?

Gracias
  #2 (permalink)  
Antiguo 26/02/2007, 18:38
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
Re: duda relaciones n:n

Hola

select * from usuarios as t1, grupos as t2, grupo_usuario as t3 WHERE t1.id=t3.usuario_id AND t2.id=t3.grupo_id AND t1.id=id_que_buscas

esto produciria algo asi:
1 | Juan | Grupo1
1 | Juan | Grupo2
1 | Juan | Grupo3
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 13:42.