É 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]

Responder a