• Same thing Using Join in CTE

    declare @Checador TABLE (

    i int identity (1,1),

    TARJETA int,

    HORA datetime,

    FECHA date,

    RELOJ int)

    INSERT @Checador VALUES

    (30 , '02/08/2010 08:14' , '02/08/2010' , 1 ),

    (30 , '02/08/2010 12:57' , '02/08/2010' , 1 ),

    (30 , '02/08/2010 14:01' , '02/08/2010' , 1 ),

    (30 , '02/08/2010 19:21' , '02/08/2010' , 1 ),

    (35 , '02/08/2010 07:23' , '02/08/2010' , 1 ),

    (35 , '02/08/2010 13:05' , '02/08/2010' , 1 ),

    (16 , '02/08/2010 12:58' , '02/08/2010' , 1 );

    ;with cte as

    (

    select ch.i,ch.TARJETA ,ch.HORA as HORA_INICIO ,ch1.HORA as HORA_TERMINO ,ch.FECHA ,ch.RELOJ

    from @Checador ch

    left join @Checador ch1

    on ch.i+1=ch1.i

    )

    select TARJETA,HORA_INICIO,HORA_TERMINO,FECHA,RELOJ

    from cte where i%2<>0