Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/05/2011, 10:35
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: relacion entre tablas insertando en campo nuevo

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 original
  1. DECLARE @tabla TABLE (ID INT, nombre VARCHAR(15), lugar VARCHAR(15), hora datetime)
  2. INSERT INTO @tabla VALUES (1, 'Canuto', 'porhay', '2011-05-04 04:00:00')
  3. INSERT INTO @tabla VALUES (2, 'Eldelbar', 'acuya', '2011-05-04 03:00:00')
  4. INSERT INTO @tabla VALUES (3, 'otro', 'lo que sea', '2011-05-04 02:15:00')
  5. INSERT INTO @tabla VALUES (4, 'cuatro', 'cuatro', '2011-05-04 01:24:00')
  6.  
  7. SELECT id,
  8. nombre,
  9. lugar,
  10. CONVERT(VARCHAR, hora, 108) hora,
  11. CONVERT(VARCHAR, datediff(mi, (SELECT top 1 hora FROM @tabla T2 WHERE T2.id > T1.id ORDER BY T2.id), hora)) diferencia
  12. 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