fiito 0 Denunciar post Postado Abril 6, 2017 Boa tarde a todos. Não tenho muita experiencia com mysql e estou tentando criar uma consulta para um relatório de curva ABC de produtos. Esse é o select que tenho no momento: "select produto.id, produto.descricao, sum(venda_item.quantidade) as qtde_venda, round(sum(venda_item.vl_unitario_liquido)/sum(venda_item.quantidade),2) as vr_unitario, round(sum(venda_item.vl_liquido),2) as vl_total_venda, round((sum(venda_item.vl_liquido)/(select sum(vl_liquido)from venda_item,venda where venda.id = venda_item.id_venda and venda.status = "FECHADO")),4)*100 as participacao, from produto inner join venda_item on produto.id = venda_item.id_produto inner join venda on venda_item.id_venda = venda.id where venda.status = 'FECHADO' group by id_produto order by vl_total_venda desc" O qual me retornar o seguinte resultado: id descricao qtde_venda vr_unitario vl_total_venda participacao 1 PRODUTO TESTE 19 100 1900 62,71 4 PRODUTO TESTE 4 3 66,67 600 19,8 2 PRODUTO TESTE 2 6 6,67 240 7,92 3 PRODUTO TESTE 3 5 6 150 4,95 5 PRODUTO TESTE 5 1 140 140 4,62 O que preciso agora é calcular a participação acumulada, onde consiste em somar a participação de um item com a participação do item anterior até chegar ao valor de 100%, onde o resultador seria: id descricao qtde_venda vr_unitario vl_total_venda participacao % Acumulado 1 PRODUTO TESTE 19 100 1900 62,71 62,71 4 PRODUTO TESTE 4 3 66,67 600 19,8 82,51 2 PRODUTO TESTE 2 6 6,67 240 7,92 90,43 3 PRODUTO TESTE 3 5 6 150 4,95 95,38 5 PRODUTO TESTE 5 1 140 140 4,62 100 E por fim, informar se o produto faz parte da curva A, B ou C, tendo a referência 70/20/10. Até 70% dos custos do Total Acumulado serão da Classe A; de 70% até 90% serão da Classe B e acima de 90% serão da Classe C, obtendo esse resultado: id descricao qtde_venda vr_unitario vl_total_venda participacao % Acumulado ABC 1 PRODUTO TESTE 19 100 1900 62,71 62,71 A 4 PRODUTO TESTE 4 3 66,67 600 19,8 82,5 B 2 PRODUTO TESTE 2 6 6,67 240 7,92 90,43 C 3 PRODUTO TESTE 3 5 6 150 4,95 95,38 C 5 PRODUTO TESTE 5 1 140 140 4,62 100 C Desde já agradeço a qualquer ajuda!! Abraço a todos. Compartilhar este post Link para o post Compartilhar em outros sites