Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/09/2013, 05:03
cmarrero01
 
Fecha de Ingreso: abril-2011
Ubicación: Mendoza
Mensajes: 42
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ranking de lista de usuarios

Gracias por la respuesta,

Te aclaro el panorama para entiendas un poco mas para ver si logramos crear una query que nos funcione..

Como vos decis, no siempre vas a tener registros arriba y abajo, de hecho, eso lo tendria que contemplar, en caso de no tener arriba, el motivo seria por que estoy primero en el ranking y deberia aparecer primero, y viceversa si estoy en el ultimo..

Tome la query que me pasaste y a primeras no me funciono, por lo que le hice algunas modificaciones, nada importante, pero no funciono...

Código SQL:
Ver original
  1. SELECT *
  2. FROM
  3.       (SELECT U.userId, U.nicename , H.points
  4.       FROM bp_users u INNER JOIN bp_historypoints h ON U.userId = H.userId
  5.       WHERE H.points > (SELECT points FROM bp_historypoints WHERE userId = 21)
  6.       ORDER BY H.points DESC
  7.       LIMIT 3) T1
  8. UNION
  9. SELECT U.userId, U.nicename , H.points
  10. FROM bp_users u INNER JOIN bp_historypoints h ON U.userId = H.userId
  11. WHERE H.userId = 21
  12. UNION
  13. SELECT *
  14. FROM
  15.       (SELECT U.userId, U.nicename , H.points
  16.       FROM bp_users u INNER JOIN bp_historypoints h ON U.userId = H.userId
  17.       WHERE H.points < (SELECT points FROM bp_historypoints WHERE userId = 21)
  18.       ORDER BY H.userId
  19.       LIMIT 2) T2;
El tema que no se si mencione, es que la tabla historypoints mantiene una historia de puntos, por lo que cada usuario tiene varios registros en esta tabla y el ultimo registro de cada usuario es el que corresponde como puntos actuales.

Por lo que esta consulta me tira un error diciendome que "La Subquery tieme mas de 1 resultado)..

Voy a seguir intentando para ver q puedo lograr, pero mas que hacer prueba y error, me gustaria poder comprender exactamente la idea de lo que me propusiste que no la entendi del todo

Muchas Gracias

Best
C
__________________
Claudio A. Marrero - Proyect Manager