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 original
DECLARE @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.