SoloCodigo
		Bases de Datos => Otras Bases de Datos => Mensaje iniciado por: aleplgr en Lunes 26 de Marzo de 2007, 16:01
		
			
			- 
				Hola!, tengo que implementar un stored procedure que calcula diferencias entre la fila actual y la siguiente de una tabla dada.
 La tabla tiene 3 columns: CientID y 2 fechas,
 y esta ordenada por ClientId y Date2, esta es la tabla:
 ClienID Date2 Date1
 1   a      b
 1   c      d
 1  e        f
 
 la primer fila es ClientID= 1, Date2 = a and Date1=b
 la siguiente fila es ClientID=1, Date2=c and Date1=d
 la siguiente fila es ClientID=1, Date2=e and Date1=f
 la primer diferencia es  c-b, Si esta diferencia es >30 retornar  1,b  sino calcular la  segunda diferencia: e-d, si esta diferencia es >30 retornar  1,d
 Si no hay ninguna diferencia >30 retornar la ultima  Date1 para ese ClientID
 y continuar con la siguiente ClientID para hacer lo mismo..
 el resultado será entonces una tabla de  2 columnas (ClientID, Date1)
 
 
 Aqui un ejemplo con fechas reales:
 ClientID Date2 Date1
 1 10.01.2007 01.01.2007
 1 20.01.2007 13.01.2007
 1 25.02.2007 01.02.2007
 1 15.03.2007 27.02.2007
 2 10.01.2007 01.01.2007
 2 20.01.2007 13.01.2007
 2 05.02.2007 01.02.2007
 
 con el siguiente resultado:
 
 ClientID Date1
 1 13.01.2007 //25.02.2007- 13.01.2007 primera mayor a 30 dias
 2 01.02.2007 //No hay ninguno mayor a 30 dias, se queda con el ultimo
 
 El DBMS es InterBase 7.5 pero ya un pseudocodigo en algo nivel me ayudaria para resolverlo.