Ir para conteúdo

POWERED BY:

Arquivado

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

junaooaks

duas select

Recommended Posts

ai galera tenho uma consulta que me retorna os valores errado da soma dos camposolha o codigo dela:$sql = "SELECT pro.cod_produto as cod, pro.produto as nome, SUM(i.quant) as quantidade FROM produto pro, pedido ped, itens i, vendedor ven WHERE ped.data BETWEEN '$data_inicial' AND '$data_final' AND pro.cod_produto = i.cod_produto AND ven.cod_vendedor = '$cod_vendedor' AND ven.cod_vendedor = ped.cod_vendedor GROUP BY i.cod_produto ORDER BY pro.cod_produto ASC ";estou tentando mudar ela mas nao to conseguindoSeria assim: A primeira consuta buscaria o código do vendedor, a data e o produto por distinct, ou seja, só um produto por código desse vendedor seria mostrado. Uma outra consulta dentro dessa primeira, iria fazer a soma dos produtos onde o código do produto fosse igual ao passado pela soma anterior.tem como alguem me da um explo de como usar uma select dentro da outra parecida com que coloquei em cima ?obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria mais fácil te ajudar se você falasse assim:

 

Preciso fazer uma query em que mostre a lista de vendedores, com o total da venda de cada um, produto a produto, sendo que a tabela de vendas contem o codigo, a quantidade e o valor unitario, a tabela de produtos contem o codigo e o nome do produto, e a tabela de vendedores o codigo e o nome do vendedor... como fazer isso numa só query, usando multiplas queries?

 

Então, vamos lá (se eu entendi o que você precisa)...

 

Colunas (algumas):

- Tabela de vendas: vddata, vdcodproduto, vdqtde, vdvalorunit, vdcodvendedor

- Tabela de produtos: prcodigo, prnome, prunidade

- Tabela de vendedores: vecodigo, venome

 

E a query:

 

select vdcodigo, venome, prcodigo, prnome, prunidade, ttqtde, ttvalorfrom  (select sum(vdqtde*vdvalorunit) ttsoma, sum(vdqtde) ttqtde, vdcodvendedor, vdcodproduto   from `acme`.`notasfiscais`   where vddata between "2007/06/01" and "2007/06/10"	 and vdcfop in ("5102","6102")   group by vdcodvendedor, vdcodproduto  ) as lista1inner join `acme`.`vendedores`   on (lista1.vdcodvendedor=vendedores.vecodigo)inner join `acme`.`produtos`   on (lista1.vdcodproduto=produtos.prcodigo)

Traduzindo... é como se o gerente pedisse a você: faça uma lista dos vendedores, com a venda de cada um, produto a produto, de 1º de junho a 10 de junho; a listagem tem que ser ordada pelo código do vendedor, contendo seu codigo e seu nome, seguindo-se o código, nome e unidade de cada produto, com a quantidade total e valor total de cada produto (ordenado pelo código)...

 

Ok?

 

Espero ter ajudado!

 

Ah... você pode fazer várias queries dentro de outras queries...

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.