Somar valores de uma tabela tendo outros itens para filtrar a consulta
Autor/fonte: marcelemonroe
E-mail/Url: http://www.php5.com.br/?php=_artigos/mostra&id_cat=123
Tweet
Vou contribuir com um artigo que muitos amigos iniciantes da área se perdem na hora de fazer e até mesmo às vezes os que tem experiência. Surgiu a idéia de colocar isso como artigo, pois a pouco tempo um amigo teve essa dúvida e eu também já tive essa dúvida em tempos remotos, e acredito q outros tenham ou vão ter.
Então vamos lá para vocês entenderem melhor, digamos o seguinte caso de estudo:
Tenho as seguintes tabelas com seus registros:
Preciso somar os valores de um produto que estejam entre um determinado período de pagamento e também que seja determinado na consuta 2 tipos de pagamento. O que fazer?
É simples, basta que vc use as seguintes comandos e funcoes do SQL:
Resumindo a sintaxe, você terá algo do tipo:
TEMOS UM TOTAL DE 3.00.
Então vamos lá para vocês entenderem melhor, digamos o seguinte caso de estudo:
Tenho as seguintes tabelas com seus registros:
tabela Proposta codigo | data_proposta 123 2007-02-01 456 2007-02-15 789 2006-05-10 879 2006-02-01 Proposta-Pagamento id | codigo_proposta | valor | tipo_pagamento 1 123 1.00 5 2 456 2.00 8 3 879 9.00 7 4 789 7.00 1
Preciso somar os valores de um produto que estejam entre um determinado período de pagamento e também que seja determinado na consuta 2 tipos de pagamento. O que fazer?
É simples, basta que vc use as seguintes comandos e funcoes do SQL:
SELECT, FROM, AND, JOIN,ON, BETWEEN E HAVING
Resumindo a sintaxe, você terá algo do tipo:
<?
//conecta com o banco
include('conecta.php');
$tipopg_1="5";
$tipopg_2="8";
$data_inicial='2007-01-01';
$data_final='2007-02-28';
$sql="SELECT SUM( valor ) AS soma
FROM proposta_pagamento
JOIN proposta ON codigo_proposta = codigo
WHERE tipo_pagamento = '$tipopg_1' OR tipo_pagamento = '$tipopg_2'
AND data_proposta BETWEEN '$data_inicial' AND '$data_final'
HAVING soma";
$query = mysql_query($sql) or die("ERRO no comando SQL : ".mysql_error());
$resultado = mysql_result($query,0);
echo "TEMOS UM TOTAL DE: ". $resultado;
?>
O resultado deste script será:
TEMOS UM TOTAL DE 3.00.
Ai você pode mudar as constantes por um $_get ou $_post pegando os valores de um fomulário, para variar de valores.
Enviado por xKuRt em 22/02/2007 às 21:33
Avaliação
Esta publicação ainda não foi avaliada!
A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.
Comentários
Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).
Envio de comentário:
Domingo, 19 de Maio de 2013
Área restrita
Leitura recomendada
Últimas publicações
- Redes sociais articulam financiamento de novos projetos por meio do crowdfunding
- Perfis de presidenciáveis no Twitter visam cativar eleitores
- Squid - Limpando cache rapidamente
- Google disponibiliza o PHP no App Engine
- Banda larga fixa cumpre metas de velocidade de internet em São Paulo, Rio de Janeiro e Minas Gerais
Top 5 membros
- dddweb213 pts
- andersonop207 pts
- Jotah197 pts
- fbinasco165 pts
- fredbcn117 pts
Últimos membros cadastrados
- valkyem 18/05
- Info Galaxyem 17/05
- notwenem 16/05





