Grande Jose, olha, o resultado foi o mesmo, todas as duas opções (a minha e a sua com left outer join) deram o mesmo resultado. estou fazendo teste com coalesce...
Vinicius Tenta assim : SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO ) FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO WHERE A.DATAEVENTO <= '01/04/2009' GROUP BY CDPEDIDO, DATAEVENTO, VALOR HAVING SUM(G.ValorPgto) < A.valor Entendeu ? Vê se funciona. --- Em sex, 27/3/09, Vinicius da Silva Pinto <vinic...@cnen.gov.br> escreveu: De: Vinicius da Silva Pinto <vinic...@cnen.gov.br> Assunto: [delphi-br] Ajuca com SQL Para: delphi-br@yahoogrupos.com.br Data: Sexta-feira, 27 de Março de 2009, 15:33 Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o resultado satisfatório. São duas tabelas, bem simples uma com os dados de um pedido com codigo, nome...e ValorTotal. Na outra tabela, a de pagamentos, só tem registro quando o cliente paga, pode ser a vista ou parcelado. As duas tabelas são unidas pelo campo CDpedido O que eu quero é o seguinte... um relação de todos os pedidos que ainda não pagaram o valor total. Fiz a seguinte query: SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS TOTALPAGO FROM BDpedidos A, BDpagamentos G WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO <= '01/04/2009' GROUP BY CDPEDIDO, DATAEVENTO, VALOR HAVING SUM(G.ValorPgto) < A.valor Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os registros que estão na tabela principal que ainda não tiveram nenhum pagamento, não sai... Pergunta.... . como faço para aparecer tbm os registros que não tiveram pagamento. Agradeço qualquer ajuda ou dica. Vinicius Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>