El día 4 de diciembre de 2010 08:04, Edwin Quijada <[email protected]> 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 ... t...@[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 :-] - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
