Numeracion doble en SELECT

15/11/2007 - 13:59 por Cristian Meneses | Informe spam
Buenas a todos
Tengo un select que luego de varias tareas dentro de un procedimiento
almacenado devuelve algo como esto:

IDAcceso IDUsuario IDTurno Usuario Fecha
Hora Entrada (... + campos)
158 27 33 CARLOS
02/11/2007 08:05:30 1
170 27 33 CARLOS
02/11/2007 12:55:23 0
181 27 33 CARLOS
02/11/2007 16:01:04 1
244 27 33 CARLOS
02/11/2007 19:00:56 0
156 12 40 DANIEL
02/11/2007 08:02:30 1
175 12 40 DANIEL
02/11/2007 12:59:23 0
157 44 33 JOSE
02/11/2007 08:03:11 1
174 44 33 JOSE
02/11/2007 12:58:23 0
186 44 33 JOSE
02/11/2007 16:02:44 1
240 44 33 JOSE
02/11/2007 18:58:56 0

Quisiera numerar de alguna forma los grupos de accesos...Es decir
Carlos 1, Daniel 2, Jose 3
Es posible esto?
Saludos y gracias por su tiempo

Cristian Meneses

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
15/11/2007 - 15:34 | Informe spam
Cristian Meneses,

Cual version de SQL Server estas usando?

Si usas 2005, entonces puedes tratar con la funcion de ? (ranking) DENSE_RANK.

SELECT
...,
DENSE_RANK() OVER(PARTITION BY u.IDUsuario ORDER BY a.Fecha, a.Hora) as
rnk
FROM
...

Chequea los libros en linea para mas informacion sobre las funciones de
ranking.

AMB

"Cristian Meneses" wrote:

Mostrar la cita
#2 Cristian Meneses
15/11/2007 - 16:09 | Informe spam
Buenas Alejandro
Gracias por tu respuesta... pero uso SQL 2000
Saludos

Cristian Meneses
#3 Alejandro Mesa
15/11/2007 - 19:17 | Informe spam
Cristian Meneses,

Mostrar la cita
Ten eso en cuenta para cuando tengas alguna otra pregunta, de esa forma
otros no tienen que malgastar su tiempo.

Crea una vista con la union de las tablas usuarios y accesos. si necesitas
pasar un parametro, como FechaAcceso, entonces crea una funcion de usuario
que devuelva una tabla. Supongamos que usas una funcion de usuario, entonces:

select
*,
(
select count(distinct b.IDUsuario)
from dbo.GetAccesos('20070110') as b
where
b.IDUsuario <= a.IDUsuario
) as rnk
from
dbo.GetAccesos('20070110') as a
go

AMB

"Cristian Meneses" wrote:

Mostrar la cita
#4 Alejandro Mesa
15/11/2007 - 19:19 | Informe spam
Correccion:

Mostrar la cita
SELECT
...,
DENSE_RANK() OVER(ORDER BY u.IDUsuario) as rnk
FROM


AMB

"Alejandro Mesa" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida