Estimados.
Necesito hacer un reporte, en el cual aparesca el ultimo ingreso al sistema de cada usuario
Actualmente lo estoy haciendo con un cursor, pero el servidor no tiene muchos recursos y en lo personal prefiero no utilizar cursores.
aqui les dejo mi cursor para que se hagan una idea.
Código SQL:
Ver originalDECLARE @TMPLISTADO TABLE (
id_usuario INT
,id_logUsuario INT
,fechaHora datetime
)
DECLARE @id_usuario INT
--DECLARE @id_dispositivo VARCHAR(20)
DECLARE cursor_UV CURSOR FOR
SELECT id_usuario FROM tbl_usuario WHERE id_estado =1
OPEN cursor_UV
FETCH NEXT FROM cursor_UV INTO @id_usuario
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO @TMPLISTADO
SELECT TOP 1 id_usuario, id_logUsuario, fechaHora
FROM tbl_logUsuario
WHERE id_usuario = @id_usuario
ORDER BY fechaHora DESC
FETCH NEXT FROM cursor_UV INTO @id_usuario
END
CLOSE cursor_UV
DEALLOCATE cursor_UV
SELECT * FROM @TMPLISTADO
la tabla log usuario tiene el (id_LogUsuario, el id_del usuario, la fecha) donde registra cada vez que el usuario se ha conectado desde el inicio del sistema.