Ir para conteúdo

POWERED BY:

Arquivado

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

Walter Aragão

[Resolvido] função SUM e Between

Recommended Posts

Pessoal , eu tinha postado aqui mais cedo sobre essa minha dúvida , porém ainda continuo com ela .. e só preciso disso para terminar uma parte do sistema .. eu quero pegar a soma do campo totalSoma de acordo com as datas que está entre 16/11 e 18/11 e armazenar em uma variável.. segue o código ,

 


$soma = mysql_query(" SELECT sum(totalSoma) as soma FROM testeBetween WHERE 'dataInicio' BETWEEN 2011-11-16 AND 2011-11-18");

echo mysql_result($soma, 'soma');

 

essa estrutura ta dando o seguinte erro :

 

valor 1 :

valor 2 :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND' at line 1

 

Desde ja agradeço !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se

 

'dataInicio'

 

for o nome de um campo use crase e não aspas simples assim

 

`dataInicio`

 

E as datas devem estar entre aspas simples assim

 

... '2011-11-16' AND '2011-11-18' ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

se

 

'dataInicio'

 

for o nome de um campo use crase e não aspas simples assim

 

`dataInicio`

 

E as datas devem estar entre aspas simples assim

 

... '2011-11-16' AND '2011-11-18' ...

 

fiz as alterações e mesmo assim o erro continua , eu acho que foi até você que me passou um tutorial mais cedo .. segui tudo oque tava la .. porem agora ta com esse erro ..

 

<?php


$soma = mysql_query(" SELECT sum(totalSoma) as soma FROM testeBetween WHERE `dataInicio` BETWEEN '2011-11-16' AND '2011-11-18'");

echo mysql_result($soma, 'soma');

?>

 

Desse jeito eu irei receber na variavel $soma os valores somados do campo totalSoma certo ?? mais imprimiu total 1 e total 2 : (outras colunas do mysql)...

 

 

 

valor 1 :

valor 2 :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

a coluna TotalSoma gasta espaço desnecessário sendo que poderia simplesmente usar assim

... sum( `valor1` + `valor2` ) as soma ...

 

mas voltando a dúvida

o campo dataInicio é de que tipo (date, datetime,ou outro)??

Compartilhar este post


Link para o post
Compartilhar em outros sites

a coluna TotalSoma gasta espaço desnecessário sendo que poderia simplesmente usar assim

... sum( `valor1` + `valor2` ) as soma ...

 

mas voltando a dúvida

o campo dataInicio é de que tipo (date, datetime,ou outro)??

 

é do tipo DATE , todas as datas do mysql ta como DATE tanto dataInicio quanto dataCadastro ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vejo erro de sintaxe na sua query.

dessa forma está certinho de acordo com suas informações

SELECT SUM(`totalSoma`) AS soma FROM `testeBetween` WHERE `dataInicio` BETWEEN '2011-11-16' AND '2011-11-18'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara ... consegui fazer funcionar ...

era as CRASES que estavam faltando no totalSoma e testebetween...

 

agora , se eu quiser passar um parâmetro e selecionar os campos entre as datas de acordo com a matricula ficaria assim ?? ou esse and vai dar errado por causa do between..?

 


$matricula = $_POST['matricula'];
$soma = mysql_query(" SELECT sum(`totalSoma`) AS soma FROM `testeBetween` WHERE `dataInicio` BETWEEN '2011-11-16' AND '2011-11-18' AND matricula = '$matricula'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

aprenda com o erro!!!!!!

acabou de perceber o erro e faz a mesma coisa

...matricula..

sem crase

outra coisa, novamente você está usando aspas simples ' ' para comparação de campo numérico

 

'$matricula'

 

isso é um número

1

isso é um texto

'1'

 

aqui você está tentando comparar um campo numérico com um texto

matricula = '$matricula'

Compartilhar este post


Link para o post
Compartilhar em outros sites

aprenda com o erro!!!!!!

acabou de perceber o erro e faz a mesma coisa

...matricula..

sem crase

outra coisa, novamente você está usando aspas simples ' ' para comparação de campo numérico

 

'$matricula'

 

isso é um número

1

isso é um texto

'1'

 

aqui você está tentando comparar um campo numérico com um texto

matricula = '$matricula'

 

 

beleza .. valeu pela ajuda cara , alem de ter aprendido essas duas funções estou terminando uma parte do meu sisteminha ..

obrigado !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa dúvida não tem muito a ver com PHP, mas sim com MySQL... Estou movendo o tópico para o local correto.

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.