Ir para conteúdo

POWERED BY:

Arquivado

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

allan.web

consulta em varias tabelas com SUM() em uma delas

Recommended Posts

Ola, estou com um probleminha em uma consulta no MySql para um e-commerce, preciso somar alguns valores de outras duas tabelas para chegar no valor que o produto será vendido, porem quando uso o SUM(campo) ele me retorna o primeiro resultado 3 vezes maior, o segundo 2 vezes maior e do terceiro em diante com os valores corretos, vou colocar a consulta aqui para ver se alguem pode me ajudar.

 

CODE
SELECT loja_categoria.des_categoria,loja_produto_categoria.cod_categoria,loja_produto.c

od_produto,nom_produto,des_geral,

 

SUM(loja_produto_outros.num_porcento) AS num_custo_outros

 

,ind_frete,des_local_isento,num_estoque,loja_forma_pagamento.des_pagamento,loja_

produto_pagamento.num_vezes,loja_produto_pagamento.num_juros,loja_produto_pagamen

to.ind_destaque

FROM loja_produto

LEFT JOIN loja_produto_outros ON loja_produto.cod_produto = loja_produto_outros.cod_produto

LEFT JOIN loja_produto_categoria ON loja_produto.cod_produto = loja_produto_categoria.cod_produto

LEFT JOIN loja_produto_pagamento ON loja_produto.cod_produto = loja_produto_pagamento.cod_produto

LEFT JOIN loja_forma_pagamento ON loja_produto_pagamento.cod_forma_pagamento = loja_forma_pagamento.cod_forma_pagamento

LEFT JOIN loja_categoria ON loja_produto_categoria.cod_categoria = loja_categoria.cod_categoria

GROUP BY loja_produto.cod_produto

ORDER BY RAND()

LIMIT 0,18

 

Des de ja agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT loja_categoria.des_categoria,loja_produto_categoria.cod_categoria,loja_produto.c
od_produto,nom_produto,des_geral,SUM(loja_produto_outros.num_porcento) AS num_custo_outros,ind_frete,des_local_isento,num_estoque,loja_forma_pagamento.des
_pagamento,loja_produto_pagamento.num_vezes,loja_produto_pagamento.num_juros,loja
_produto_pagamento.ind_destaque 
FROM loja_produto 
LEFT JOIN loja_produto_outros ON loja_produto.cod_produto = loja_produto_outros.cod_produto 
LEFT JOIN loja_produto_categoria ON loja_produto.cod_produto = loja_produto_categoria.cod_produto 
LEFT JOIN loja_produto_pagamento ON loja_produto.cod_produto = loja_produto_pagamento.cod_produto 
LEFT JOIN loja_forma_pagamento ON loja_produto_pagamento.cod_forma_pagamento = loja_forma_pagamento.cod_forma_pagamento
LEFT JOIN loja_categoria ON loja_produto_categoria.cod_categoria = loja_categoria.cod_categoria 
GROUP BY loja_categoria.des_categoria,loja_produto_categoria.cod_categoria,loja_produto.c
od_produto,nom_produto,des_geral,ind_frete,des_local_isento,num_estoque,loja_form
a_pagamento.des_pagamento,loja_produto_pagamento.num_vezes,loja_produto_pagamento
.num_juros,loja_produto_pagamento.ind_destaque

tente assim, coloque todos os campos que você quer buscar no group by, exceto as funções de soma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, funcionou parcialmente, agora surgio outro problema, está repetindo os produtos, tentei usar o distinct para ver se não repetiria mas, mas não deu certo, como faço para ele não repetir mais os resultados, sendo que a tabela principal é a loja_produto.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não consegui resolver, alguem tem alguma ideia de como posso fazer para que ele não repita os dados retornados?

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.