Ver Mensaje Individual
  #24 (permalink)  
Antiguo 06/01/2013, 06: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

Gracias por la respuesta, Jesús, y Feliz día de Reyes.

Cita:
Iniciado por jurena Ver Mensaje
Lanza sobre tus datos (yo no los tengo y no puedo decirte nada) esta consulta primero:
Código MySQL:
Ver original
  1. SELECT usu.id idusuario,
  2. IFNULL( SUM( sim.importe ) , 0 ) impusu,
  3. IFNULL( SUM( sim.referidos ) , 0 ) refusu, '0' impsp, '0'refsp
  4. FROM simulador sim
  5. INNER JOIN usuarios usu ON sim.id_usuario = usu.id
  6. GROUP BY sim.id_usuario
  7. ORDER BY sim.id_usuario
He modificado las consultas porque con las sumas no me sirve y he hecho esto:

Código MySQL:
Ver original
  1. SELECT usu.id idusuario, sim.importe impusu, sim.referidos refusu
  2. FROM simulador sim
  3. INNER JOIN usuarios usu ON sim.id_usuario = usu.id
  4. GROUP BY sim.id_usuario
  5. ORDER BY sim.id_usuario

Aparentemente me trae bien los datos como usuario, el problema es que, para estar seguro de que los datos están correctos, antes de lanzar una consulta para ver resultados, necesito la que me debe dar los datos sobre los que modificar con la programación y de esa forma, sí podré saber con certeza si los datos son correctos.

Ahora, al haber ejecutado la aplicación con la consulta que tenía, y que ya tengo claro que está mal, me ha grabado datos incorrectos y es prácticamente imposible saber qué es lo que me está dando como resultado, pero lo sigo intentando...

Cita:
Iniciado por jurena Ver Mensaje
Y luego esta:
Código MySQL:
Ver original
  1. SELECT usu.id_sponsor, '0', '0', IFNULL(SUM( sim.importe ),0) , IFNULL(SUM( sim.referidos ),0)
  2.     FROM simulador sim
  3.     INNER JOIN usuarios usu ON sim.id_usuario = usu.id
  4.     GROUP BY usu.id_sponsor
  5.     ORDER BY usu.id_sponsor

Y dinos qué pasa. En la primera obtendrás los datos de los usuarios como usuario, y en la segunda los que otienen como sponsor.
Esta es la que he ejecutado, también quitando lo referente a las sumas:

Código MySQL:
Ver original
  1. SELECT usu.id_sponsor, sim.importe, sim.referidos
  2. FROM eae_simulador sim
  3. INNER JOIN eae_usuarios usu ON sim.id_usuario = usu.id
  4. GROUP BY usu.id_sponsor
  5. ORDER BY usu.id_sponsor

También aparentemente me trae bien los resultados, pero no sé unir las dos para que en una sola consulta me traiga todos los datos y poder trabajar sobre ellos...

Si ya digo yo que me falta mucha base, pero tampoco tengo donde aprenderla si no es gracias a ti y a todos los que colaboran en estos foros...

Solo espero que me puedas seguir ayudando a ver si conseguimos sacar el resultado bien...

Muchísimas gracias de todo corazón.

.