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 escreveu:
De: Vinicius da Silva Pinto
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]