Criar Select

Delphi

29/10/2004

Ola caro programadores,

Estou precisando criar um select e não estou conseguindo,

E o seguinte tem uma tabela de vendas e outra de duplicatas onde faço a ligação uma com a outra através do numero da venda. Até ai tudo bem a duplicata e gerando na venda.

Só que cada duplicata tem uma forma de pagamento (dinheiro, cheque etc, esta forma de pagamento e cadastrada pelo usuário). Listar a venda e suas duplicatas consegui sem problema, o problema é que o cliente quer que o relatório totalize no final pela forma de pagamento das duplicatas e não estou conseguindo.

Exemplo:

Cliente: Marcos Nº Pedido 10 Valor pedido R$ 100,00
Duplicata 10.12 valor dup 50,00 forma pág dinheiro
Duplicata 10.22 valor dup 50,00 forma pág cheque

Cliente: Pedro Nº Pedido 11 Valor pedido R$ 100,00
Duplicata 11.12 valor dup 50,00 forma pág dinheiro
Duplicata 11.22 valor dup 50,00 forma pág cheque

Total Pedido: 200,00

Total Dinheiro: 100,00
Total Cheque: 100,00

Se alguém puder me ajudar agradeço


Hugofab

Hugofab

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

29/10/2004

Colega,

Se não conseguir com o exemplo que segue, coloque a estrutura das tabelas para que possamos elaborar um exemplo mais pragmático:

SELECT dup.forma, sum(valor) total
FROM tbl_vendas vda
INNER JOIN tbl_duplicatas dup
ON (vda.chave = dup.chave)
GROUP BY dup.forma



GOSTEI 0
Hugofab

Hugofab

29/10/2004

Aroldo,


O Select que você passou funcionou, consegui fazer o agrupamento correto. O problema agora é que como vou fazer para filtrar as vendas pela data?

Tenho um campo date na tabela, mas não sei como implementar o where com o select desta forma.

Obrigado pela ajuda!


GOSTEI 0
Hugofab

Hugofab

29/10/2004

Aroldo,


Fazendo alguns testes aqui consegui filtrar pela data, no lugar de usar a condição where como estava acostumando, coloquei a condição no ON ai deu certo.
Só me explica uma coisa qual a função daquelas ,from vendas =>vda, INNER JOIN duplicata =>dup ?

Muito obrigado !

Hugo Fabrício. hugo_fabricio@hotmail.com


GOSTEI 0
Rafs

Rafs

29/10/2004

A função de ´vda´ e ´dup´ é para dar nome às tabelas.
É extremamente necessário quando se possui campos com mesmo nome em tabelas diferentes.


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

29/10/2004

Colega,

Conforme foi comentado pelo colega, são alias utilizados para evitar problemas com ambiguidades nas tabelas.


GOSTEI 0
Hugofab

Hugofab

29/10/2004

Colegas,

Obrigado por sanarem todas as minhas duvida, sempre que puder vou ajudar a comunidade.

Agradeço pela atenção,

Hugo Fabrício


GOSTEI 0
POSTAR