Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/12/2011, 08:11
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años
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