É só ler a tabela de pagamentos com LEFT OUTER JOIN ... Pois pelo que entendi ele está fazendo INNER JOIN, ou seja : considera apenas aqueles que tem registros em ambas as tabelas.
--- 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]