Ir para conteúdo

POWERED BY:

Arquivado

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

Dj Gan

[Resolvido] Agrupar e Somar valores por nome com relacionamento 4

Recommended Posts

Olá pessoal, tudo bom?

 

Estou quebrando a cabeça desde a última quinta-feira, e gostaria de pedir a ajuda de vocês com os 2 últimos neurônios que me restam. O problema:

 

- Tenho uma consulta que faz o relacionamento de 4 (quatro) tabelas, que já está funcionando, porém no resultado é necessário o agrupamento por nome e por valor acumulado por nome, que não está acontecendo. Já tentei o SUM e o GROUP BY e não estou conseguindo agrupar os valores no resultado. Abaixo a query e a função que uso para listar os resultados:

 

$teste = mysql_query ("SELECT distinct (vendedor.nome), vendedor.sobrenome, loja.nome, nota.qtd, produto.pontos,(nota.qtd*produto.pontos) AS soma

FROM vendedor

JOIN nota ON nota.idvendedor = vendedor.idvendedor

JOIN produto ON produto.idproduto = nota.idproduto

JOIN loja ON loja.idloja = vendedor.loja

WHERE loja.nome = '$loja'

ORDER BY soma DESC

");

 

while ($res = mysql_fetch_array($teste)){

$nomevendedor = $res[0];

$sobrenomevendedor = $res[1];

$lojanome = $res [2];

$quantidade = $res[3];

$pontos = $res[4];

$soma = $res[5];

$totalpontos = $totalpontos+$soma;

 

 

?>

 

Abaixo segue o screenshot da tela com o resultado desta query:

 

Imagem Postada

 

Na imagem acima existem campos adicionais que servem apenas para conferir se a conta está certa. O que interessa é o acumulado. O que gostaria de exibir nesta tabela é o acumulado por nome e em ordem descrecente em relação aos pontos acumulados (ranking), desta forma:

 

GUSTAVO ----------------- 400

ALESSANDRO -------------- 120

FERNANDO ---------------- 10

 

Se eu agrupo por nome não calcula o acumulado, então não adianta.

 

Se alguém puder ajudar agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu galera já conseguí:

 

// FAZ A CONTA DO TOTAL DE PONTOS DO RANKING

 

 

 

$teste = mysql_query ("SELECT vendedor.nome, vendedor.sobrenome, SUM(nota.qtd*produto.pontos) AS soma

FROM vendedor

JOIN nota ON nota.idvendedor = vendedor.idvendedor

JOIN produto ON produto.idproduto = nota.idproduto

JOIN loja ON loja.idloja = vendedor.loja

WHERE loja.nome = '$loja'

GROUP BY vendedor.nome

ORDER BY soma DESC

 

");

 

while ($res = mysql_fetch_array($teste)){

$nomevendedor = $res[0];

$sobrenomevendedor = $res[1];

$soma = $res[2];

$totalpontos = $totalpontos+$soma;

 

 

?>

<tr>

<td><?php echo ("$nomevendedor $sobrenomevendedor"); ?></td>

<td><?php print $soma; ?></td>

</tr>

<?php

}

?>

 

Aos moderadores: Favor fechar o tópico. Muito obrigado!

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.