• 0
Sign in to follow this  
alessandro.albuquerque

DISTINCT + SUM

Question

Prezados,

Estou precisando somar a coluna QUANTIDADE que são consultadas com um "DISTINCT material".

Segue código até o "DISTINCT material" 

...
$busca_query = mysql_query("SELECT distinct material FROM material WHERE material LIKE '%$busca%' AND quantidade LIKE '%$busca1%' ORDER BY material ASC")or die(mysql_error());//faz a busca com as palavras enviadas


if (empty($busca_query)) { //Se não achar nada, lança essa mensagem
    echo "Nenhum registro encontrado.";
}

// quando existir algo em '$busca_query' ele realizará o script abaixo.
while ($dados = mysql_fetch_array($busca_query)) {
?>

    <tr width="100%">        
        <td width="82%"><?php echo "$dados[material]<br />";?></td>    
        <td width="10%"><?php echo "$dados[quantidade] <br />";?>
...

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Tente assim:

SELECT m1.material, m1.quantidade
FROM (
   SELECT material, SUM(quantidade) as quantidade 
   FROM material 
   GROUP BY material
) m1
WHERE m1.material LIKE '%$busca%' AND m1.quantidade LIKE '%$busca1%' 
ORDER BY m1.material ASC

 

Share this post


Link to post
Share on other sites
  • 0
4 horas atrás, Denis Courcy disse:

Tente assim:

SELECT m1.material, m1.quantidade
FROM (
   SELECT material, SUM(quantidade) as quantidade 
   FROM material 
   GROUP BY material
) m1
WHERE m1.material LIKE '%$busca%' AND m1.quantidade LIKE '%$busca1%' 
ORDER BY m1.material ASC

 

Simplesmente perfeito! Mais um ponto pra ti mestre JEDI!

Share this post


Link to post
Share on other sites
  • 0

Pintou mais uma nesse mesmo tópico:

$busca_query = mysql_query("SELECT m1.material, m1.quantidade, totalquantidade, m1.minimoestoque
FROM (
   SELECT material, unidades, SUM(quantidade) as totalquantidade, minimoestoque 
   FROM material 
   GROUP BY material
) m1
WHERE m1.material LIKE '%$busca%' AND totalquantidade LIKE '%$busca1%'
ORDER BY m1.material ASC")or die(mysql_error());//faz a busca com as palavras enviadas


if (empty($busca_query)) { //Se não achar nada, lança essa mensagem
    echo "Nenhum registro encontrado.";
}

// quando existir algo em '$busca_query' ele realizará o script abaixo.
while ($dados = mysql_fetch_array($busca_query)) {
?>

	<tr style="<?php
						if ( $dados[quantidade] <= $dados[minimoestoque]){
							echo "background-color:rgba(255,0,0,0.2);" ;
						}
						?>">		

A variável $dados[quantidade] recebe apenas o valor da primeira linha do GROUP BY material.
São 5 linhas para cada material. 

Preciso que interprete o valor de cada linha.

Edited by alessandro.albuquerque

Share this post


Link to post
Share on other sites
  • 0

O erro está no SQL ou no seu código PHP?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this