Hola vhan99:
Tal y como lo comenta Iislas, no queda claro cuál es la relación entre un registro y otro, aunque puedo supones que se trata simplemente de obtener la diferencia de un ID contra el siguiente ID. En tu post no mencionas de qué tipo es el campo hora, para el ejemplo que voy a poner voy a suponer que se trata de un tipo datetime (). Puedes hacer algo como esto:
Código SQL:
Ver originalDECLARE @tabla TABLE (ID INT, nombre VARCHAR(15), lugar VARCHAR(15), hora datetime)
INSERT INTO @tabla VALUES (1, 'Canuto', 'porhay', '2011-05-04 04:00:00')
INSERT INTO @tabla VALUES (2, 'Eldelbar', 'acuya', '2011-05-04 03:00:00')
INSERT INTO @tabla VALUES (3, 'otro', 'lo que sea', '2011-05-04 02:15:00')
INSERT INTO @tabla VALUES (4, 'cuatro', 'cuatro', '2011-05-04 01:24:00')
SELECT id,
nombre,
lugar,
CONVERT(VARCHAR, hora, 108) hora,
CONVERT(VARCHAR, datediff(mi, (SELECT top 1 hora FROM @tabla T2 WHERE T2.id > T1.id ORDER BY T2.id), hora)) diferencia
FROM @tabla T1
Esta consulta te regresará lo siguiente:
Código:
id|nombre|lugar|hora|diferencia
-----------------------------------------
1|Canuto|porhay|04:00:00|60
2|Eldelbar|acuya|03:00:00|45
3|otro|lo que sea|02:15:00|51
4|cuatro|cuatro|01:24:00|NULL
Saludos
Leo