Fórum Criar Select #256678

29/10/2004

0

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

Responder

Posts

29/10/2004

Aroldo Zanela

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



Responder

Gostei + 0

01/11/2004

Hugofab

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!


Responder

Gostei + 0

01/11/2004

Hugofab

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


Responder

Gostei + 0

01/11/2004

Rafs

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.


Responder

Gostei + 0

01/11/2004

Aroldo Zanela

Colega,

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


Responder

Gostei + 0

01/11/2004

Hugofab

Colegas,

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

Agradeço pela atenção,

Hugo Fabrício


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar