Ir para conteúdo

Arquivado

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

rfamelli

query para agrupar valores por determinado item

Recommended Posts

Boa noite!!

 

Bom pessoal,

deixa eu explicar a minha duvida.

 

eu tenho uma tabela que lança quantidade no estoque de um determinado produto.

porém eu nao posso simplesmente alterar o campo quantidade, pq preciso ter o historico de tudo o que foi colocado e retirado. Na unha mesmo.

 

então na minha tabela coloquei assim

 

id_prod | quant | por_retirar

1 | 10 | 1

1 | 5 | -1

1 | 2 | - 1

 

quando eu busco assim, dá certo para um unico produto consultado:

 

 

$sql = "SELECT SUM(quant) FROM estoque WHERE por_retirar < 0 GROUP BY id_prod"; 
// Verificando se tudo ocorreu certo. 
$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); 
// Pegando o resultado 
$retirar = mysql_result($resultado, 0); 


$sql = "SELECT SUM(quant) FROM estoque WHERE por_retirar=1 GROUP BY id_prod"; 
// Verificando se tudo ocorreu certo. 
$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); 
// Pegando o resultado 
$colocar = mysql_result($resultado, 0); 

$saldo = $colocar - $retirar; 

 

Mas o que eu nao consegui fazer é como listar todos os produtos com o saldo de cada um.

EX:

 

produto | quantidade

A | 10

B | 50

C | 30

 

Alguem pode me ajudar?

 

obrigada desde já,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz a forma mais rápida é na aplicação.

 

$query = " SELECT DISTINCT id_prod FROM estoque ";

Executa isso e varre o resultado. Dentro do loop, você faz um select count com o id do produto:

$query = " SELECT COUNT(quant) FROM estoque WHERE id_prod = " . $res['id_prod'];

 

Vê se funciona ai e avisa..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Rafael,

 

obrigada pela ajuda!

 

nao consegui dar certo nao.

 

fiz assim:

 

$sql = "SELECT DISTINCT id_prod FROM estoque"; 
$resultado = mysql_db_query("$db",$sql,$connection);


$sql2 = "SELECT COUNT(quant) FROM estoque WHERE id_prod = " . $resultado['id_prod'];""; 
// Verificando se tudo ocorreu certo. 
$result = mysql_db_query("$db",$sql2,$connection);


while ($achou = mysql_fetch_array($result)) {

 

Deu erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/storage/4/1f/d7/blabla/public_html/pasta/estoq_all.php on line 242

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.