Jorge Barzola escribió:
> Obtengo de un select con mas de 30 mil registros con la la siguiente
> información (para el ejemplo solo muestro un registro):
>
> NRO_DOC | EDAD | MTO_TASA | MTO_ABO | LX | DX |
> 20160978 | 65 | 0.006518349 | 6.83 | 1 | 0.006518349|
>
> El registro de ejemplo tiene como edad 65 años por tal segun TBL_TASA se
> debe generar 46 registros aumentando la edad de uno en uno y obteniendo la
> tasa correspondiente a la edad.
Usa generate_series() para generar el rango de edades. Algo así:
select ... FROM generate_series(65, 65+46) AS edad, ...
Agrega funciones ventana (LAG() para el registro anterior) para calcular
los valores de las otras columnas.
Como los valores 65 y 46 vienen de una tabla, los puedes poner en otro
ítem del from, algo así:
SELECT ...
FROM TBL_TASA,
generate_series(EDAD, EDAD + CANTIDAD) AS edad
WHERE
etc.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services