Show de bola, muito bom mesmo, exatamente o que eu precisava. Obrigado Mateus e Emerson pelas preciosas dicas.
Att, Paulo. 2014-09-04 23:21 GMT-03:00 Paulo Pereira <[email protected]>: Tenho duas tabelas: Tabela Saldos das Contas e Tabela Saidas. EX: TABELA SALDOS: CONTA|SALDO 200 | 200.00 201 | 500.00 Tenho o seguinte sentença que me retorna a soma das contas, como segue: SELECT row_number() OVER(PART BY conta ORDER BY conta,valor), setor, valor, conta, SUM(valor) OVER(PART BY conta ORDER BY conta,valor) as Total FROM saidas ORDER BY conta. RETORNO: 1-1-200-50.00-50.00 2-1-200-60.00-110.00 3-1-200-50.00-160.00 1-1-201-80.00-80.00 2-1-201-40.00-120.00 3-1-201-30.00-150.00 Preciso buscar o saldo de cada conta da tabela saldos para ficar assim: SALDO 200.00 1-1-200-50.00-250.00 2-1-200-60.00-310.00 3-1-200-50.00-360.00 SALDO 500.00 1-1-201-80.00-580.00 2-1-201-40.00-620.00 3-1-201-30.00-650.00 Alguem pode dar uma dica ? Eu faria usando UNION ALL, da seguinte forma: SELECT 1 AS tipo, NULL::bigint, NULL::integer AS setor, NULL::numeric AS valor, conta, saldo AS Total FROM saldo UNION ALL SELECT 2 AS tipo, row_number() OVER(PARTITION BY conta ORDER BY valor), setor, valor, conta, SUM(valor) OVER(PARTITION BY conta ORDER BY valor) as Total FROM saidas ORDER BY conta, tipo, valor Assim, na aplicação você só itera os registros (que já virão ordenados), quando tipo for 1 é "saldo", quando tipo for 2 é "conta".
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
