Euler, obrigado pela resposta, mas, ainda não é isso.

Observe (diminuindo o exemplo, para simplificar:

recibo    fpgto    produto    dt_parcela        valor
3            1            1 _01/01/2016  50,00 _
3            1            2 _01/01/2016     50,00_
3            2            1                01/_02/2016_  100,00
3            2            2                01/_03/2016_  100,00

No caso, o recibo 3 tem 2 duas datas da percela iguais, devido a ter 2 produtos diferentes, que foram pagos juntos, para mesma data (01/01/2016).

a resposta do select, teria que ser assim:

recibo  fgto     total     parcelas
3            1        100,00     1         50,00 + 50,00 de 01/01/2016
3 2 200,00 2 uma parcela de 100,00 de 01/02 e outra de 100,00 de 01/03

É exatamente a forma de transformar esses 2 registros, de data de parcela igual numa parcela somente.

Eduardo Az



Em 21/11/2016 22:32, Euler Taveira escreveu:
On 21-11-2016 21:10, Eduardo Az - EMBRASIS wrote:
O que não estou conseguindo é fazer a somatória da quantidade de
pagamentos (parcelas) em um recibo.

Você pode usar quantas agregações quiser. Neste caso, basta usar o SUM
para total e COUNT para quantidade de parcelas agrupando por recibo e
fpgto. Veja:

# select recibo, fpgto, sum(valor) as total, count(1) as parcelas from
recibos_fgto group by recibo, fpgto order by 1, 2;
  recibo | fpgto | total  | parcelas
--------+-------+--------+----------
       1 |     1 | 500.00 |        7
       2 |     1 | 200.00 |        2
       2 |     2 | 300.00 |        3
       3 |     1 | 100.00 |        2
       3 |     2 | 200.00 |        2
(5 registros)

O meu resultado não bate com o que você apresentou. É isso que você queria?


PS> não sequestre uma thread (clicar em responder em outra thread). Ao
invés disso crie um email novo. Esse tipo de ação bagunça o histórico e
dificulta a busca a posteriori.



_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a