Te paso un ejemplo, vos tendrias que adaptarlo a tu caso. En el ejemplo el 
id es secuencial, no entiendo el tipo de datos del id que manejas.

Aca genero con un 50% de probabilidad una demora de 5 segundos entre inserts 
de una tabla (modelado del fallo de comunicacion que tenes)
Al final, hay una consulta que te dice el tiempo transcurrido entre inserts.

IF object_id( 'tempdb.dbo.#Prueba' ) IS NOT NULL
DROP TABLE #Prueba
CREATE TABLE #Prueba( id int IDENTITY(1,1) PRIMARY key, FechaHora datetime 
DEFAULT ( getdate() ) )
DECLARE @i int;
SET @i = 1
WHILE ( @i <= 30 )
BEGIN
IF rand()<.5
WAITFOR delay '00:00:05'
INSERT #Prueba( FechaHora ) VALUES (DEFAULT)
SET @i = @i + 1
END
 
SELECT 'Tiempo transcurrido entre ' + cast(sig.id AS varchar(10)) + ' y ' + 
cast( ant.id AS varchar(10)), dif=datediff( s, ant.FechaHora, sig.FechaHora 
)
FROM #Prueba ant
JOIN #Prueba sig
ON ant.id = sig.id - 1


A mi me dio 19 delays sobre 30 es decir, un 63 porciento de delays.
Saludos

Daniel
 


-----Original Message-----
From: "Carina V. Barca" <[EMAIL PROTECTED]>
To: "Daniel Aisenberg" <[EMAIL PROTECTED]>
Date: Wed, 30 Jul 2008 20:47:42 +0000
Subject: [dbms] Consulta - Datos faltantes

Hola. si, es un ejemplo resumido, los datos serian de la siguiente manera
la tabla se llama datos
 
id       id_estacion id_sensor tipo_sensor fecha                           
hora                                valor
----------- ----------- --------- ----------- 
------------------------------------------------------ 
113353      1                 1         1    2008-02-06 00:00:00.000    
1900-01-01 16:00:00.000    0.0
113355      1                 3         3    2008-02-06 00:00:00.000    
1900-01-01 16:00:00.000    1154.1931
113362      1                 1         1    2008-02-06 00:00:00.000    
1900-01-01 16:45:00.000    0.0
113364      1                 3         3    2008-02-06 00:00:00.000    
1900-01-01 16:45:00.000    1154.2008000000001
113356      1                 1         1    2008-02-06 00:00:00.000    
1900-01-01 16:15:00.000    0.0
113358      1                 3         3    2008-02-06 00:00:00.000    
1900-01-01 16:15:00.000    1154.1982
113359      1                 1         1    2008-02-06 00:00:00.000    
1900-01-01 16:30:00.000    0.0
113361      1                 3         3    2008-02-06 00:00:00.000    
1900-01-01 16:30:00.000    1154.2008000000001

Saludos y gracias por responder...
 
Carina
 



Date: Wed, 30 Jul 2008 17:16:19 -0300
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: [dbms] Consulta - Datos faltantes



Hola, la tala que pasaste es un ejemplo resumido?, tenes alguna clave 
primaria, algun campo Identity?
Si no podes hacer las tomas posibles, podes hacer un self join para calcular 
la "datediff" entre un registro y el siguiente. Si es mayor que 15 minutos, 
estaria faltando una lectura.
Saludos

 


-----Original Message-----
From: "Carina V. Barca" <[EMAIL PROTECTED]>
To: "Daniel Aisenberg" <[EMAIL PROTECTED]>
Date: Wed, 30 Jul 2008 13:45:10 +0000
Subject: [dbms] Consulta - Datos faltantes


Gracias Maxi, voy a intentar a ver que sale..
 
Saludos




From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: [dbms] Consulta - Datos faltantes
Date: Wed, 30 Jul 2008 10:07:28 -0300



Hola deberias tener primero una tabla con las tomas posibles, esa tabla la 
deberias popular tu de alguna manera, si sabes que son lecturas cada 15 min 
entonces es bastante simple. 
  
Luego haces un left join de esa tabla vs las lecturas y mostras los nulos, 
esto te mostrara los faltantes 
  
 
Maximiliano Damian Accotto 
Microsoft MVP en SQLServer 
SQL Total Consulting 
Bogota 3631 P3B 
1407 Buenos Aires-Argentina 
Movil: (011)-15-5868-5599 
Desde el exterior: (+54-911)-5868-5599 
[EMAIL PROTECTED] 
  
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Carina V. Barca
Enviado el: lunes, 28 de julio de 2008 10:38 a.m.
Para: Maxi
Asunto: [dbms] Consulta - Datos faltantes
  
  
Hola a todos: tengo una aplicacion que guarda datos cada 15 minutos, pero 
suele suceder que por error de comunicacion o interferencias, se pierde 
alguna lectura. El problema es ajeno a la base de datos. 
Lo que yo quiero es hacer una consulta que me devuelva todos los datos de 
una hora, que tienen que ser 4 y que si falta alguna me muestre el renglon 
con la hora faltante para poder agregar ese dato. Por ejemplo: 
  
fecha                                 hora                                  
estacion      sensor     valor 
2008-06-02 00:00:00.000 1900-01-01 16:00:00.000 3                  4         
     2025.0
2008-06-02 00:00:00.000 1900-01-01 16:30:00.000 3                  4         
     2051.0 
 
A esta hora me faltan 2 lecturas 

a las 16:15 y 16:45, el resultado seria... 
  
fecha                                 hora                                  
estacion      sensor     valor 
2008-06-02 00:00:00.000 1900-01-01 16:00:00.000 3                  4         
     2025.0
2008-06-02 00:00:00.000 1900-01-01 16:30:00.000 3                  4         
     2051.0 
2008-06-02 00:00:00.000 1900-01-01 16:15:00.000 3                  4         
     
2008-06-02 00:00:00.000 1900-01-01 16:45:00.000 3                  4         
     
  
Muchas gracias. 
Saludos 
  
Carina Barca 
  
  
  



¡Lo mejor de MSN y Windows Live en tu móvil! Hotmail, Messenger, Spaces. 
Pruébalo ya  y disfruta de todas sus ventajas donde quieras ¡Lo mejor de 
MSN y Windows Live en tu móvil! 



¡Lo mejor de MSN y Windows Live en tu móvil! Hotmail, Messenger, Spaces. 
Pruébalo ya  y disfruta de todas sus ventajas donde quieras ¡Lo mejor de 
MSN y Windows Live en tu móvil! 



¡Sé solidario, haz clic! Por cada búsqueda que hagas desde Windows Live 
Search, estarás ayudando a los que más lo necesitan ¡Sé solidario, haz 
clic! 

Responder a