Subject Re: [firebird-support] How write a query with a progressive sum field
Author Thomas Steinmaurer
> Il 07/03/2016 11.32, Dimitry Sibiryakov sd@...
> [firebird-support] ha scritto:
>> sum(saldo) over (order by data)
>
> Thank You for your response but I can't do: sum(SALDO) because SALDO is
> not a field of my table.
>
> I badly explained myself: I have a table with only this fields:
>
> DATA DOCUMENTO_ID NUMERO SERIE CARICO SCARICO
>
>
> I need add SALDO fields in the result of the query to get a progressive
> sum of CARICO - SCARICO.

Although not that flexible as an ad-hoc query, but perhaps your
particular use case can be achieved with a selectable stored procedure ...

I'm not good in writing PSQL out of my mind at the moment, but execute
your SQL (without the SUM aggregate field) in a stored procedure,
iterate over the result set, remember the computation for the previous
row in a local variable and use that for the addition with the current
row and call SUSPEND for each result set iteration.



--
With regards,
Thomas Steinmaurer
http://www.upscene.com/

Professional Tools and Services for Firebird
FB TraceManager, IB LogManager, Database Health Check, Tuning etc.