Saulo Morais Lara escreveu: > Osvaldo, arrumei um livro de BD e logo vou estar bem se deus quiser. > Obrigado, vo testar. > Vc pode me ajudar em mais uma coisa. Estou pelejando e não consegui. > Tenho os seguintes dados: > > bordero > ------- > Numero: 001 > Valor: 100,00 > Comissao: 10,00 > > Parcelas > -------- > Numero: 001 > Parcela: 1 > Valor: 50,00 > Numero: 001 > Parcela: 2 > Valor: 50,00 > > Se faço um select assim: > Select sum(parcela.valor) as valor, sum(borderô.comissao) as comissão from > borderô inner join parcelas on borderô.numero = parcela.numero > Como tenho duas parcelas do borderô 1, vai me retornar o valor da comissão > duplicado. Deu pra entender. Acho que vo precisar dum subselect. > Pode me auxiliar? Obrigado. >
Realmente este não é o caso para se utilizar junção. Como você mesmo já percebeu é o caso para se utilizar subselect. Tente: SELECT borderô.numero, borderô.comissao AS comissão, (SELECT sum(parcela.valor) AS valor FROM parcelas WHERE parcela.numero = borderô.numero) FROM borderô ORDER BY borderô.numero; Veja "4.2.9. Scalar Subqueries" em: http://www.postgresql.org/docs/current/interactive/sql-expressions.html#SQL-SYNTAX-SCALAR-SUBQUERIES Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral