Mais fácil resolver isso com Window Function:

http://www.postgresql.org/docs/9.0/static/functions-window.html

 <http://www.postgresql.org/docs/9.0/static/functions-window.html>
Atenciosamente,
Fábio Telles

Em 11 de outubro de 2010 12:29, Fábio Gibon - Comex System <
[email protected]> escreveu:

> Emanuel,
>        veje se isto te atende...
>
> postgres=# create table tabover
> postgres-# (id varchar(10),
> postgres(#  a  numeric(10,2));
> CREATE TABLE
>
> postgres=# insert into tabover values ('cliente1',2310.82) ,
> ('cliente2',1366.56
> ) , ('cliente3',785.05);
> INSERT 0 3
>
> postgres=# select id, a, sum(a) over (order by id)
> postgres-# from tabover;
>    id    |    a    |   sum
> ----------+---------+---------
>  cliente1 | 2310.82 | 2310.82
>  cliente2 | 1366.56 | 3677.38
>  cliente3 |  785.05 | 4462.43
> (3 registros)
>
> sds
> Fábio Gibon
> ----- Original Message -----
> From: "Emanuel Araújo" <[email protected]>
> To: <[email protected]>
> Sent: Monday, October 11, 2010 12:07 PM
> Subject: [pgbr-geral] Recursividade...
>
>
> Srs. Preciso da seguinte ajuda.
>
> Tenho uma tabela com os dados abaixo e preciso fazer um somatório
> (curvaABC) no campo b, sempre ele mesmo + o próximo campo a
>
>    id     |    a    |    b
> -----------+---------+---------
>  cliente1  | 2310.82 | 2310.82
>  cliente2  | 1366.56 | 1366.56
>  cliente3  |  785.05 |  785.05
>  cliente4  |  707.65 |  707.65
>  cliente5  |  691.38 |  691.38
>  cliente6  |  484.63 |  484.63
>  cliente7  |  401.27 |  401.27
>  cliente8  |  387.51 |  387.51
>  cliente9  |  363.00 |  363.00
>  cliente10 |  282.34 |  282.34
>  cliente11 |  256.26 |  256.26
>  cliente12 |  238.68 |  238.68
>  cliente13 |  225.99 |  225.99
>  cliente14 |  167.20 |  167.20
>  cliente15 |  123.33 |  123.33
>  cliente16 |  104.04 |  104.04
>  cliente17 |  101.37 |  101.37
>
> retornando algo assim:
>
>    id     |    a    |    b + proximo a
> -----------+---------+---------
>  cliente1  | 2310.82 | 2310.82
>  cliente2  | 1366.56 | 3677.38
>  cliente3  |  785.05 |  4462.43
> ...
>
> Já li a documentação, mas não entendi o uso do WITH RECURSIVE ...
>
> Alguém poderia me dar um apoio e/ou me informar onde posso obter um
> exemplo mais detalhado do USO disso?
>
> Agradeço.
>
>
> --
> Atenciosamente,
>
> Emanuel Araújo
> http://eacshm.wordpress.com
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
blog: http://www.midstorm.org/~telles/
e-mail / jabber: [email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a