Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

william_droops

como montar a consulta ?

Recommended Posts

tb_cliente

id_cli nome

1 Fulano

2 Fulano_2

 

tb_vendas

id_vendas id_cli

1 1

2 1

3 2

4 2

5 2

 

tb_itens_venda

id_it_vendas id_vendas id_prod qtd

1 1 1 2

2 1 2 2

3 1 3 2

4 2 2 5

5 2 1 4

6 2 2 4

7 3 2

8 4 54

9 4 21

10 4 21

11 4 21

12 4 8

13 4 2

 

 

Eu preciso somar os produtos iguais do mesmo cliente, por exemplo o cliente ( 1 ) comprou em duas compras o produto 1, eu preciso somar as quantidades, e dar a média, mas eu ja tenho um loop, onde seleciono o cliente, depois as compras desse cliente, dou um loop dentro de compras, e pego os itens, mas não sei como fazer para somar todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi...

 

Não há necessidade de loops...

 

Use Sum, Count e AVG...

 

Exempo:

 

select cliente, clientes.nome as nome_cliente,

produto, produtos.nome as nome_produto,

sum(quantidade*valor_unitario) as valortotal,

sum(quantidade) as qtdetotal, avg(quantidade) as media

from vendas

inner join clientes

on (vendas.cliente=cliente.idcliente)

inner join produtos

on (vendas.produto=produtos.idproduto)

group by cliente, produto;

 

Ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Paulo, eu não tenho muito conhecimento, e tenho que admitir que para mim é dificil, mas entendi o que seu select faz, vou tentar usar aqui, pois estou no meio do processo, caso não consiga, posto para ajuda, obrigado

 

Paulo eu tentei mas ainda o inner join que é a ligação das tabelas esta confuso ainda, eu não quero tudo pronto, mas esta complicado entender, seria possivel mastigar um pouco mais por favor ??

 

Vou tentar focar na minha necessidade, pra eu refazer tudo, dica complicado, então vou deixar o loop nos clientes, pois tenho um select dinamico onde o usuario pode filtrar por varios itens, então:

 

dou LOOP nos clientes

Aqui ja quero usar seu select na tabela vndA, onde tem todas as vendas, os campos principais são :

chvvendA, chvCli

 

Tem a tabela vndB, onde estão os itens dessa venda:

chvvendB, chvvendA, chvprod

 

 

 

 

fim LOOP clientes

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.