Outra sugestão ... http://emersonhermann.blogspot.com.br/2013/01/desenvolvendo-querys-sql-para-razao-e.html
http://www.emersonhermann.blogspot.com.br/2012/09/consulta-sql-de-plano-de-contas-query.html Em 5 de setembro de 2014 09:24, Matheus de Oliveira < [email protected]> escreveu: > > 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". > > Atenciosamente, > -- > Matheus de Oliveira > Analista de Banco de Dados > Dextra Sistemas - MPS.Br nível F! > www.dextra.com.br/postgres > > > _______________________________________________ > 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
