Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2013, 09:16
cokearte
 
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 17 años, 8 meses
Puntos: 0
Busqueda retornar ultimo entrada por cada usuario a un sistema

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 original
  1. DECLARE  @TMPLISTADO TABLE (
  2.          id_usuario INT
  3.          ,id_logUsuario INT
  4.          ,fechaHora datetime
  5.        
  6.     )
  7.     DECLARE @id_usuario INT
  8.     --DECLARE @id_dispositivo VARCHAR(20)
  9.     DECLARE cursor_UV CURSOR FOR  
  10.  
  11.    
  12.     SELECT id_usuario FROM tbl_usuario WHERE id_estado =1
  13.    
  14.        
  15.     OPEN cursor_UV  
  16.     FETCH NEXT FROM cursor_UV INTO  @id_usuario
  17.  
  18.     WHILE @@FETCH_STATUS = 0  
  19.     BEGIN  
  20.         INSERT INTO @TMPLISTADO
  21.         SELECT TOP 1 id_usuario, id_logUsuario, fechaHora
  22.         FROM tbl_logUsuario
  23.         WHERE id_usuario = @id_usuario
  24.         ORDER BY fechaHora DESC
  25.        
  26.         FETCH NEXT FROM cursor_UV INTO  @id_usuario
  27.     END  
  28.  
  29.     CLOSE cursor_UV  
  30.     DEALLOCATE cursor_UV
  31.    
  32.     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.