Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/12/2012, 05:39
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Consulta múltiple con INNER JOIN

Lo primero, gracias gnzsoloyo por responder a mi gran duda.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si un usuario tiene un único sponsor y un sponsor es un usuario a su vez, y quieres los datos del sponsor del usuario, debes cruzar la tabla usuarios con sigo misma:
Código MySQL:
Ver original
  1. FROM usuarios U INNER JOIN usuarios S ON U.id_sponsor = S.id_usuario
Recién entonces pues cruzar eso con la siguiente para obtener del usuario los referidos.
Lo he hecho así y me da el mismo resultado:

Código MySQL:
Ver original
  1. SELECT usu.id,
  2.         usu.nombre,
  3.         usu.apellidos,
  4.         usu.id_sponsor,
  5.         sp.id_usuario AS sim_sp,
  6.         usu.codigo,
  7.         sim.id_usuario,
  8.         sim.importe,
  9.         sim.cual,
  10.         sp.importe AS sp_importe,
  11.         sim.referidos,
  12.         sp.referidos AS sp_referidos
  13. FROM usuarios AS usu
  14. INNER JOIN usuarios AS S ON (usu.id_sponsor = S.id)
  15. INNER JOIN simulador AS sim ON (usu.id = sim.id_usuario)
  16. INNER JOIN simulador AS sp ON (sp.id_usuario = usu.id_sponsor)
  17. WHERE usu.mostrar = 1 AND usu.id > 0
  18. GROUP BY usu.id
  19. ORDER BY usu.id ASC

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo que no parece quedar claro es qué es lo que contiene ese campo "referidos". ¿Es un valor único por registro, o es un conjunto de valores? ¿Qué representa ese dato?
Este campo debe contener, inicialmente, un valor numérico obtenido de un formulario que solo tiene ese campo, después, mediante PHP, se le van sumando cuando actúa como sponsor y restando cuando actúa como usuario para realizar la simulación.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
PD: Tienes que aprender a tener paciencia. Uno también tiene vida, familia y actividades. Pusiste el post a las seis de la tarde... No conozco las costumbres de Zaragoza, pero aquí, por ejemplo, cenamos cerca de las nueve de la noche, e incluso más tarde.
Más de uno está festejando en estos días.

Ten paciencia.
Tienes mucha razón, pero ya sabes que cuando ves tan cerca la solución, te desesperas por llegar a ella, pero es cierto que hay que tener paciencia.

Aquí en Zaragoza, también cenamos sobre la misma hora, pero tenemos 4 de diferencia con BBAA, ayer lo posteé tan tarde por lo que te comentaba, desesperado ya por conseguir resolverlo... Normalmente a esas horas, ya estoy "Off", pero ayer me quedé enganchado...

Mientras intentamos resolver este "entuerto", te deseo a ti y a todos los amigos de estos foros unas MUY FELICES FIESTAS.

Muchas gracias de nuevo y espero que podamos encontrar la solución.

.