Re: Generar registros

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Jorge Barzola <jorgebarzola(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Generar registros
Date: 2019-05-16 17:16:47
Message-ID: 20190516171647.GA22587@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Barzola 2019-05-16 21:03:23 Re: Generar registros
Previous Message Jorge Barzola 2019-05-16 16:48:46 Generar registros