• Lunes 23 de Diciembre de 2024, 07:43

Autor Tema:  Procedimiento Para Procesar Fila Actual Y Siguient  (Leído 2169 veces)

aleplgr

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Procedimiento Para Procesar Fila Actual Y Siguient
« en: Lunes 26 de Marzo de 2007, 16:01 »
0
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.