junaooaks 3 Denunciar post Postado Agosto 15, 2007 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
Paulo do Brasil 0 Denunciar post Postado Agosto 18, 2007 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