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

Consulta 1 a muchos

Estas en el tema de Consulta 1 a muchos en el foro de Mysql en Foros del Web. Hola amigos. Tengo un pequeño gran problema. tengo dos tablas relacionados de 1 a muchos La tabla usuario y deposito. A cada usuario se le ...
  #1 (permalink)  
Antiguo 17/12/2011, 13:15
 
Fecha de Ingreso: marzo-2009
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años, 7 meses
Puntos: 1
Información Consulta 1 a muchos

Hola amigos.

Tengo un pequeño gran problema.

tengo dos tablas relacionados de 1 a muchos

La tabla usuario y deposito. A cada usuario se le asigna uno o muchos depositos
el tema es.

quiero listar de la siguiente manera.

id nombre despotitos_asignados
0 usuario1 deposito 1, depsito 2
1 usuario 2 deposito 2
2 usuario 3 deposito 1, deposito 3, depsito 4

es eso posible?

Gracias
  #2 (permalink)  
Antiguo 19/12/2011, 08:11
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Consulta 1 a muchos

Directamente con mysql no o muy complicado usa programacion externa...

Es posible listar asi

Usuarios
idUsuario
usuario
...

RelUsuDeposito
id
idUsuario
idDeposito


Depositos
idDeposito
deposito
...


SELECT u.usuario,d.deposito
FROM usuarios u INNER JOIN RelUsuDeposito rd
ON u.idUsuario=rd.idUsuario
INNER JOIN depositos d
ON rd.idDeposito=d.idDeposito
ORDER BY u.usuario,d.deposito;


id nombre despotitos_asignados
0 usuario 1 deposito 1
1 usuario 1 deposito 2
3 usuario 2 deposito 2
4 usuario 3 deposito 1
5 usuario 3 deposito 3
6 usuario 3 deposito 4

a partir de esto un bucle com programación externa te presentara los datos como quieres

Para no poner codigo, digamos



Código pre:
Ver original
  1. usuario=""
  2. para cada elemento
  3.      si elemento(usuario)<>usuario
  4.            imprime salto linea + elemento(usuario)
  5.            usuario=elemento(usuario)
  6.       fin si
  7.       imprime elemento(deposito) + ","
  8. fin para

mejorable pero va por ahi....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 19/12/2011 a las 08:30

Etiquetas: Ninguno
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:55.