SQL - stored procedure procesar fila actual y siguiente

 
Vista:

stored procedure procesar fila actual y siguiente

Publicado por aleplgr (1 intervención) el 26/03/2007 15:57:13
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, sino calcular la segunda diferencia: e-d, si esta diferencia es >30 retornar (1,c)
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder