Re: Ayuda con armar saldos

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Carlos Perez <carlos(dot)perez(at)syswarp(dot)com(dot)ar>
Cc: Horacio Miranda <hmiranda(at)gmail(dot)com>, jorgebarzola(at)gmail(dot)com, Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con armar saldos
Date: 2018-11-01 18:12:52
Message-ID: CAN3Qy4oHNarO9vGkNTg7RcDqpirdyOWb_8_G-YHaCyPULzAzMw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista

Algo así seria:

WITH RECURSIVE t(id,tasa,lx,dx) AS (
SELECT a.id,a.tasa,1::numeric as lx,1*a.tasa as dx
FROM (values(65,0.013670563
),(66,0.015125920),(67,0.016741070),(68,0.018533249),(69,0.020521473),(70,0.022726715))
as a(id,tasa)
where id=65
UNION ALL
SELECT a.id,a.tasa,t.lx-t.dx,a.tasa*(t.lx-t.dx)
FROM (values(65,0.013670563
),(66,0.015125920),(67,0.016741070),(68,0.018533249),(69,0.020521473),(70,0.022726715))
as a(id,tasa) join t on a.id-1=t.id

)
SELECT * FROM t order by id asc

El jue., 1 de nov. de 2018 a la(s) 10:29, Carlos Perez (
carlos(dot)perez(at)syswarp(dot)com(dot)ar) escribió:

> Creo que lo mejor seria hacer una funcion recursiva y usarla en tu
> consulta.
> No se que respuesta puede tener esto con la performance si tenes que
> consultar muchos datos, pero las veces que me tocaron cosas parecidas, a mi
> me resultaron.
>
>
>
>
> [image: Mailtrack]
> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> Remitente
> notificado con
> Mailtrack
> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> 11/01/18,
> 8:41:38 AM
>
> El jue., 1 nov. 2018 a las 2:04, Horacio Miranda (<hmiranda(at)gmail(dot)com>)
> escribió:
>
>> Es mi idea o estas tratando de armar los saldos in solutos, intereses y
>> pagos con interes compuesto ?
>> On 31/10/2018 7:58 AM, Jorge Barzola wrote:
>>
>> Hola estimados:
>>
>> Necesito armar el siguiente cuadro:
>>
>> id | tasa | lx | dx
>> ------------------------------------------------------------
>> 65 | 0.013670563 | 1.00000000 | 0.01367056
>> 66 | 0.015125920 | 0.98632944 | 0.01491914
>> 67 | 0.016741070 | 0.97141030 | 0.01626245
>> 68 | 0.018533249 | 0.95514785 | 0.01770199
>> 69 | 0.020521473 | 0.93744586 | 0.01923777
>> 70 | 0.022726715 | 0.91820809 | 0.02086785
>>
>> - Los datos de id y tasa son fijo (estan en una tabla).
>> - Siempre en la columna lx en el primer registro sera 1.00000000
>> - La columna dx se obtiene de tasa * lx
>> - En la columna lx, apartir del segundo registro el resultado se obtiene
>> de (lx - dx) de un registro anterior.
>>
>> Alguna idea por favor.
>>
>> Saludos.
>>
>>
>
> --
> --
> Carlos Enrique Perez, +5411-95402-8667
> Managing Director
> * ___*
> *| |> syswarp *
> *|___| *
> www.syswarp.com
>
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos Edward Grajales Marmolejo 2018-11-01 22:07:09 Re: Tamaño de Query
Previous Message Carlos Perez 2018-11-01 11:42:56 Re: Ayuda con armar saldos