RANKING

11/02/2004 - 16:39 por PA | Informe spam
Hola que tal?

mi problema es no saber como hacer con sql lo siguiente:
Yo registro en una tabla JUGDAS un IDJUGADOR y un PUNTAJE

lo que hago es lo siguiente.
primero que me tire los 10 primeros puestos... esto es sencillo.

select top 10 idjugador, sum (puntaje) as suma from jugadas
group by idjugador
order by suma desc

pero lo que nose como hacer es que luego de ese listado me tire la posicion
de otro jugador que por ejemplo esta nro 42.


en otras palabras el resultado que quisiera obtener es el sig.:
el jugador 11 participa del juego, obtiene 1 punto y al finalizar se le
muestra los primeros 10 puestos y el puesto de el que en este caso seria el
42

pos IDJUGADOR PUNTOS
1 1 100
2 2 90
3 3 80
4 4 70
5 5 60
6 6 50

7 7 40

8 8 30

9 9 20
10 10 10

42 11 1


yo lo que necesito es ese 42!!!!!!!!!!!!!
la primer parte la obtengo con la consulta arriba mensionada pero la
posicion del jugador 11 como la obtengo?

espero que me puedan ayudar...


saludos

Pablo

Preguntas similare

Leer las respuestas

#1 Matias Iacono
11/02/2004 - 16:49 | Informe spam
Si sabes el ID de este jugador, y lo unico que quieres hacer es mostrar en
que posicion esta... pues deberias hacer otra consulta por su ID...

Saludos

"PA" escribió en el mensaje
news:
Hola que tal?

mi problema es no saber como hacer con sql lo siguiente:
Yo registro en una tabla JUGDAS un IDJUGADOR y un PUNTAJE

lo que hago es lo siguiente.
primero que me tire los 10 primeros puestos... esto es sencillo.

select top 10 idjugador, sum (puntaje) as suma from jugadas
group by idjugador
order by suma desc

pero lo que nose como hacer es que luego de ese listado me tire la


posicion
de otro jugador que por ejemplo esta nro 42.


en otras palabras el resultado que quisiera obtener es el sig.:
el jugador 11 participa del juego, obtiene 1 punto y al finalizar se le
muestra los primeros 10 puestos y el puesto de el que en este caso seria


el
42

pos IDJUGADOR PUNTOS
1 1 100
2 2 90
3 3 80
4 4 70
5 5 60
6 6 50

7 7 40

8 8 30

9 9 20
10 10 10

42 11 1


yo lo que necesito es ese 42!!!!!!!!!!!!!
la primer parte la obtengo con la consulta arriba mensionada pero la
posicion del jugador 11 como la obtengo?

espero que me puedan ayudar...


saludos

Pablo





Respuesta Responder a este mensaje
#2 PA
11/02/2004 - 16:55 | Informe spam
y como seria la consulta??? el tema es que nose como obtener la posicion del
jugador!


"Matias Iacono" escribió en el mensaje
news:
Si sabes el ID de este jugador, y lo unico que quieres hacer es mostrar en
que posicion esta... pues deberias hacer otra consulta por su ID...

Saludos

"PA" escribió en el mensaje
news:
> Hola que tal?
>
> mi problema es no saber como hacer con sql lo siguiente:
> Yo registro en una tabla JUGDAS un IDJUGADOR y un PUNTAJE
>
> lo que hago es lo siguiente.
> primero que me tire los 10 primeros puestos... esto es sencillo.
>
> select top 10 idjugador, sum (puntaje) as suma from jugadas
> group by idjugador
> order by suma desc
>
> pero lo que nose como hacer es que luego de ese listado me tire la
posicion
> de otro jugador que por ejemplo esta nro 42.
>
>
> en otras palabras el resultado que quisiera obtener es el sig.:
> el jugador 11 participa del juego, obtiene 1 punto y al finalizar se le
> muestra los primeros 10 puestos y el puesto de el que en este caso seria
el
> 42
>
> pos IDJUGADOR PUNTOS
> 1 1 100
> 2 2 90
> 3 3 80
> 4 4 70
> 5 5 60
> 6 6 50
>
> 7 7 40
>
> 8 8 30
>
> 9 9 20
> 10 10 10
>
> 42 11 1
>
>
> yo lo que necesito es ese 42!!!!!!!!!!!!!
> la primer parte la obtengo con la consulta arriba mensionada pero la
> posicion del jugador 11 como la obtengo?
>
> espero que me puedan ayudar...
>
>
> saludos
>
> Pablo
>
>
>
>
>


Respuesta Responder a este mensaje
#3 Freddy Cáceres
11/02/2004 - 17:06 | Informe spam
mmmmm, buen desafio, se me ocurrio que el resultado lo podriamos insertar en
una tabla temporal y que esta tabla temporal tenga un campo autonumerico.

luego hacer un selec sobre esa tabla temporal y eliminas la tabla temporal,
todo esto en un SP por supuesto.

sobre que base estas trabajando?

Saludos
-
Freddy Cáceres
Santiago - Chile

"PA" escribió en el mensaje
news:
Hola que tal?

mi problema es no saber como hacer con sql lo siguiente:
Yo registro en una tabla JUGDAS un IDJUGADOR y un PUNTAJE

lo que hago es lo siguiente.
primero que me tire los 10 primeros puestos... esto es sencillo.

select top 10 idjugador, sum (puntaje) as suma from jugadas
group by idjugador
order by suma desc

pero lo que nose como hacer es que luego de ese listado me tire la


posicion
de otro jugador que por ejemplo esta nro 42.


en otras palabras el resultado que quisiera obtener es el sig.:
el jugador 11 participa del juego, obtiene 1 punto y al finalizar se le
muestra los primeros 10 puestos y el puesto de el que en este caso seria


el
42

pos IDJUGADOR PUNTOS
1 1 100
2 2 90
3 3 80
4 4 70
5 5 60
6 6 50

7 7 40

8 8 30

9 9 20
10 10 10

42 11 1


yo lo que necesito es ese 42!!!!!!!!!!!!!
la primer parte la obtengo con la consulta arriba mensionada pero la
posicion del jugador 11 como la obtengo?

espero que me puedan ayudar...


saludos

Pablo





Respuesta Responder a este mensaje
#4 Matias Iacono
11/02/2004 - 17:12 | Informe spam
Como consulta... me matas... sin tener a mano todas las tablas... no soy muy
bueno para las consultas...

Pero una solucion muy practica y, aunque algo lenta, pero funcional, es que
recorras todo tu recordset en busqueda de ese usuario, y vayas contando las
vueltas... cuando lo encuentre, ya tendras la posicion de dicho usuario.

"PA" escribió en el mensaje
news:
y como seria la consulta??? el tema es que nose como obtener la posicion


del
jugador!


"Matias Iacono" escribió en el mensaje
news:
> Si sabes el ID de este jugador, y lo unico que quieres hacer es mostrar


en
> que posicion esta... pues deberias hacer otra consulta por su ID...
>
> Saludos
>
> "PA" escribió en el mensaje
> news:
> > Hola que tal?
> >
> > mi problema es no saber como hacer con sql lo siguiente:
> > Yo registro en una tabla JUGDAS un IDJUGADOR y un PUNTAJE
> >
> > lo que hago es lo siguiente.
> > primero que me tire los 10 primeros puestos... esto es sencillo.
> >
> > select top 10 idjugador, sum (puntaje) as suma from jugadas
> > group by idjugador
> > order by suma desc
> >
> > pero lo que nose como hacer es que luego de ese listado me tire la
> posicion
> > de otro jugador que por ejemplo esta nro 42.
> >
> >
> > en otras palabras el resultado que quisiera obtener es el sig.:
> > el jugador 11 participa del juego, obtiene 1 punto y al finalizar se


le
> > muestra los primeros 10 puestos y el puesto de el que en este caso


seria
> el
> > 42
> >
> > pos IDJUGADOR PUNTOS
> > 1 1 100
> > 2 2 90
> > 3 3 80
> > 4 4 70
> > 5 5 60
> > 6 6 50
> >
> > 7 7 40
> >
> > 8 8 30
> >
> > 9 9 20
> > 10 10 10
> >
> > 42 11 1
> >
> >
> > yo lo que necesito es ese 42!!!!!!!!!!!!!
> > la primer parte la obtengo con la consulta arriba mensionada pero la
> > posicion del jugador 11 como la obtengo?
> >
> > espero que me puedan ayudar...
> >
> >
> > saludos
> >
> > Pablo
> >
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 PA
11/02/2004 - 17:48 | Informe spam
Freddy, resolvi el problema de la siguiente manera, lo unico es que no me
gusta mucho por lo que hice fue crear un SP y dentro del mismo un
cursor
lo que hago es enviarle por parametro el ID del jugador y me devuelve la
posicion..

nose si es la mas eficiente pero se me ocurrio aso por el momento.

Gracias!!!




"Freddy Cáceres" @hotmail.com> escribió en el mensaje
news:
mmmmm, buen desafio, se me ocurrio que el resultado lo podriamos insertar


en
una tabla temporal y que esta tabla temporal tenga un campo autonumerico.

luego hacer un selec sobre esa tabla temporal y eliminas la tabla


temporal,
todo esto en un SP por supuesto.

sobre que base estas trabajando?

Saludos
-
Freddy Cáceres
Santiago - Chile

"PA" escribió en el mensaje
news:
> Hola que tal?
>
> mi problema es no saber como hacer con sql lo siguiente:
> Yo registro en una tabla JUGDAS un IDJUGADOR y un PUNTAJE
>
> lo que hago es lo siguiente.
> primero que me tire los 10 primeros puestos... esto es sencillo.
>
> select top 10 idjugador, sum (puntaje) as suma from jugadas
> group by idjugador
> order by suma desc
>
> pero lo que nose como hacer es que luego de ese listado me tire la
posicion
> de otro jugador que por ejemplo esta nro 42.
>
>
> en otras palabras el resultado que quisiera obtener es el sig.:
> el jugador 11 participa del juego, obtiene 1 punto y al finalizar se le
> muestra los primeros 10 puestos y el puesto de el que en este caso seria
el
> 42
>
> pos IDJUGADOR PUNTOS
> 1 1 100
> 2 2 90
> 3 3 80
> 4 4 70
> 5 5 60
> 6 6 50
>
> 7 7 40
>
> 8 8 30
>
> 9 9 20
> 10 10 10
>
> 42 11 1
>
>
> yo lo que necesito es ese 42!!!!!!!!!!!!!
> la primer parte la obtengo con la consulta arriba mensionada pero la
> posicion del jugador 11 como la obtengo?
>
> espero que me puedan ayudar...
>
>
> saludos
>
> Pablo
>
>
>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida