Re: Windows function para sacar balance

From: Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>
To: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Windows function para sacar balance
Date: 2010-12-04 15:13:14
Message-ID: AANLkTind-5ctna63GtWuhnqpnuYqUaO0gcmdZRp-zGH6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 4 de diciembre de 2010 08:04, Edwin Quijada
<listas_quijada(at)hotmail(dot)com> escribió:
> Estoy tratando de usar las funciones windows para hacer una consulta pero no
> me sale nada. tengo la sigte tabla
>
> Fecha     DOcumento    Debito Credito
> 02/2010   8999              0        100
> 03/2010   8736              0        300
> 04/2010   8499              0        100
> 05/2010   8636              400    0
> 06/2010   8199              100    0
> 07/2010   8036              200    0
>
> Y deseo lo siguiente
> Fecha     DOcumento    Debito Credito      Balance
> 02/2010   8999              0        100           -100
> 03/2010   8736              0        300           -400
> 04/2010   8499              0        100           -500
> 05/2010   8636              400    0               -100
> 06/2010   8199              100    0                   0
> 07/2010   8036              200    0                 200
>
> Esto se puede con windows functions ?

Lo resolvi con sql "recursivo" será cuestión de algo de pruebas ...

test(at)[local]=# with balance_ as(select (debito-credito) as res,fecha
from balance order by fecha) select *,coalesce((select sum(res) from
balance_ b1 where b1.fecha<b2.fecha),0)+(select res from balance_ b1
where b1.fecha=b2.fecha) as res from balance b2 order by fecha;
fecha | doc | debito | credito | res
------------+------+--------+---------+------
2010-02-01 | 8999 | 0 | 100 | -100
2010-03-01 | 8736 | 0 | 300 | -400
2010-04-01 | 8499 | 0 | 100 | -500
2010-05-01 | 8636 | 400 | 0 | -100
2010-06-01 | 8199 | 100 | 0 | 0
2010-07-01 | 8036 | 200 | 0 | 200
(6 filas)

Duración: 1.391 ms

Es mi primera consulta sql de este tipo :-]

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Javier Luyo Zegarra 2010-12-06 14:56:57 RE: Bs. Espacial the_geom
Previous Message juanramirez 2010-12-04 14:20:47 Re: Windows function para sacar balance