[Ajuda] SQL contagem

Started by hfca, February 16, 2009, 11:57:43 AM

Previous topic - Next topic

hfca

precisava de uma ajuda pra fazer um codigo sql que consiste em tenho uma tabela com um campo com valor (INT). o que precisava era de fazer um select a base de dados, selecionar os registos da tabela que quero e fazer a soma desses Campus e apresentar o resultado final.

código já feito até ao momento:

mysql_select_db("consumiveis", $con);
$mes = addslashes(trim($_POST["consumiveis"]));
$ano = addslashes(trim($_POST["ano"]));
$query = mysql_query("SELECT quantidade FROM dados WHERE consumiveis = '$consumiveis' AND ano = '$ano'" );

while ($registo = mysql_fetch_array($query)){
$quantidade = $registo["quantidade"];
$consumiveis = $registo["consumiveis"];
$ano = $registo["ano"];

Catiii

[quote name=\'hfca]precisava de uma ajuda pra fazer um codigo sql que consiste em tenho uma tabela com um campo com valor (INT). o que precisava era de fazer um select a base de dados\' date=\' selecionar os registos da tabela que quero e fazer a soma desses Campus e apresentar o resultado final.[/quote\']

ola! se explicares melhor e colocares ai as coisas que precisas eu ajudo-te. Estás a trabalhar online?
GOTHREE FASHION

southafrikanse

Quote from: hfcaprecisava de uma ajuda pra fazer um codigo sql que consiste em tenho uma tabela com um campo com valor (INT). o que precisava era de fazer um select a base de dados, selecionar os registos da tabela que quero e fazer a soma desses Campus e apresentar o resultado final.

mysql_select_db("consumiveis", $con);
$mes = addslashes(trim($_POST["consumiveis"]));
$ano = addslashes(trim($_POST["ano"]));
$query = mysql_query("SELECT quantidade FROM dados WHERE consumiveis = '$consumiveis' AND ano = '$ano'" );

while ($registo = mysql_fetch_array($query)){
$quantidade = $registo["quantidade"];
$consumiveis = $registo["consumiveis"];
$ano = $registo["ano"];

SELECT COUNT (quantidade) FROM dados WHERE consumiveis = '$consumiveis' AND ano = '$ano';
Blog Pessoal | Tugatrónica | Fórum Webtuga
"Knowledge is knowing that a tomato is a fruit, but Wisdom is knowing not to put it in a fruit salad."

hfca

o que preciso é estou a dar saída me material ex: canetas --- 2 / lapis --- 1 e assim sensitivamente, o que pretendo é selecionar todos os campos do material ex: caneta e somar o campo quantidade. depois fazer a quantidade inicial menos quantidade ja utilizada e pretendo que me mostre a quantidade que tenho em stock.

ilovehentai

Sem ver a estrutura de dados é um pouco difícil mas posso te dizer que se quiseres somar todas as quantidades podes fazer

SELECT SUM(quantidades) as "total" FROM tabela;

Isto irá somar todos os valores no campo quantidades da tabela "tabela". Se colocares um WHERE para filtrar apenas as canetas vais ter o total
de canetas em stock.

O resto da tua dúvida não entendi muito bem.

southafrikanse

Então porque não criar uma tabela dedicada às requisições de material apenas?

Ajudava saber quais são todas as tabelas que tens na tua base de dados.
Blog Pessoal | Tugatrónica | Fórum Webtuga
"Knowledge is knowing that a tomato is a fruit, but Wisdom is knowing not to put it in a fruit salad."

hfca

obrigada vou testar isso.

Já agora vou deixar aqui mencionado a base de dados:

Tabela consumiveis: id , consumivel, referencia, quantidade inicial, quantidade final

Tabela dados: id, consumivel, quantidade, pess_levant, data

o que preciso é de calcolar a quantidade final, e sempre que correr o script vai actualizar a quantidade final.

A quantidade final é a quantidade em stock.

Teotónio Ricardo

Podes criar uma cron que faça o calculo e actualize o valor, ou podes correr a query sempre que um produto for vendido e o stock necessitar de ser alterado.

PS: Só li o ultimo post, portanto posso estar errado no que queiras.

Triads

Quote from: hfcaobrigada vou testar isso.

Já agora vou deixar aqui mencionado a base de dados:

Tabela consumiveis: id , consumivel, referencia, quantidade inicial, quantidade final

Tabela dados: id, consumivel, quantidade, pess_levant, data

o que preciso é de calcolar a quantidade final, e sempre que correr o script vai actualizar a quantidade final.

A quantidade final é a quantidade em stock.

Eu faria o seguinte:
SELECT SUM(quantidade) as total FROM dados GROUP BY consumiveis

Ficavas logo com as quantidades de cada 'consumivel' e depois se quiseres podes muito bem limitar em termos de anos ou até mesmo consumível (como ja tens no SQL 'WHERE consumiveis = '$consumiveis' AND ano = '$ano'').

hfca

ok vou seguir o teu conselho obrigada

hfca

boas tenho o código a funcionar 5 * se alguém precisar é só dizer que eu disponibilizo.