algoll 0 Denunciar post Postado Julho 23, 2012 Salve galera!! Estou com um probleminha aqui e não consigo solucionar: Preciso somar os valores de uma tabela no mysql usando duas condições sendo a primeira pelo mês vindo de um filtro antes da consulta e a segunda pelos id`s de acordo com outra condição, vou deixar o código que to fazendo para entenderem melhor: $pg_var_esc = mysql_query("SELECT * FROM cont_pg_var_escritorio WHERE escritorio_c_custo = '$centro_custo'"); $var_esc = mysql_fetch_object($pg_var_esc); while(!empty($var_esc)) { $escritorio_id = $var_esc->escritorio_id; $pg_var_escritorio = mysql_query("SELECT SUM(valor) as somaEscritorio FROM parc_escritorio WHERE MONTH(vencimento)=$mes1 AND escritorio_id ='$escritorio_id'"); $cont_var_escritorio = mysql_fetch_array($pg_var_escritorio); echo $cont_var_escritorio["somaEscritorio"];echo"-"; $var_esc = mysql_fetch_object($pg_var_esc); } é assim que estou fazendo, porém ao invés de imprimir a soma dos valores está imprimindo os valores individualmente como um array simples. Como posso resolver isso? Preciso da soma total dos valores.. Obrigado pela atenção galera!! Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Julho 23, 2012 Não entendi muito bem o seu questionamento, mas vai uma tentativa: SELECT escritorio_id, MONTH(vencimento) as mes, SUM(valor) as soma FROM parc_escritorio GROUP BY 1, 2 Compartilhar este post Link para o post Compartilhar em outros sites
algoll 0 Denunciar post Postado Julho 23, 2012 Não entendi muito bem o seu questionamento, mas vai uma tentativa: SELECT escritorio_id, MONTH(vencimento) as mes, SUM(valor) as soma FROM parc_escritorio GROUP BY 1, 2 Obrigado pela resposta vou tentar explicar melhor minha intenção: Eu tenho uma tabela que recebe os dados de uma conta a pagar (cont_pg_var_escritorio), sendo que nessa tabela a conta pode ser de um centro de custo 1 ou centro de custo 2, e tenho uma segunda tabela que recebe os valores e os vencimentos desta mesma conta (parc_escritorio), ok? estou gerando um relatório com os totais a pagar, sendo que nele deverá aparecer os totais de todas as contas cadastradas, sendo que será filtrado pelo centro de custo e pelo mês escolhido pelo usuário, basicamente o usuário escolhe o centro de custo que quer ver os totais e o mês desejado e deverá mostrar o total exato. Da forma que eu to fazendo está listando os valores cadastrados ao inves de soma-los e me mostra apenas do 1º indice. Consegui ser claro? os campos das respectivas tabelas sao: cont_pg_var_escritorio: escritorio_id, escritorio_desc, escritorio_c_custo e escritorio_parcelas parc_escritorio: parc_esc_id, escritorio_id, vencimento e valor eu poderia adicionar um campo centro de custo na tabela de parcelas para facilitar tambem, mas como na realidade sao mais de 10 tabelasde contas que terão a mesma lógica e como todas as telas esta já com seus respectivos cruds funcionando que não é muito viável editar tudo agora, hehe rsrs Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 23, 2012 cont_pg_var_escritorio: escritorio_id, escritorio_desc, escritorio_c_custo e escritorio_parcelas parc_escritorio: parc_esc_id, escritorio_id, vencimento e valor select a.escritorio_id , a.escritorio_desc , sum(b.valor) valor from cont_pg_var_escritorio a,parc_escritorio b where a.escritorio_id = b.escritorio_id and a.escritorio_c_custo = '123' group by a.escritorio_id , a.escritorio_desc Compartilhar este post Link para o post Compartilhar em outros sites
algoll 0 Denunciar post Postado Julho 23, 2012 cont_pg_var_escritorio: escritorio_id, escritorio_desc, escritorio_c_custo e escritorio_parcelas parc_escritorio: parc_esc_id, escritorio_id, vencimento e valor select a.escritorio_id , a.escritorio_desc , sum(b.valor) valor from cont_pg_var_escritorio a,parc_escritorio b where a.escritorio_id = b.escritorio_id and a.escritorio_c_custo = '123' group by a.escritorio_id , a.escritorio_desc Obrigado pelo retorno, no caso eu faria esse select no lugar de usar um while para retornar todos os id`s do centro de custo em questão? porque não funcionou, heh Acho que o problema está em usar um Where com um laço de repetição pois quando eu tipo o "AND escritorio_id ='$escritorio_id'" ele soma os valores corretamente, mas soma todos os valores do mes. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 23, 2012 no caso eu faria esse select no lugar de usar um while para retornar todos os id`s do centro de custo em questão? Sim, é mais simples. Compartilhar este post Link para o post Compartilhar em outros sites
algoll 0 Denunciar post Postado Julho 23, 2012 Sim, é mais simples. Valeu cara, funcionou redondinho. Compartilhar este post Link para o post Compartilhar em outros sites