SQL firebird - selecionar total de linhas por mês
Bom dia*
Preciso fazer um sql onde preciso retornar o total de um campo ordenado mês a mês....
minha tabela atendimento* tem um campo quantidade
select sum(at.quantidade)
from atendimento at
where cl.data between :pinicio and :pfim
preciso somar o total de quantidade no período informado, mas preciso retornar por mês (mes 1, mes 2,....)
o banco de dados é o firebird 1.5, e a função ´extract(month from cl.data)´ funciona para fazer comparações, mas se colocar
select sum(at.quantidade) ,extract(month from..
group by extract(month from ..
não compila......
Por favor, se alguém puder ajudar, agradeço desde já!!!
abraços
Preciso fazer um sql onde preciso retornar o total de um campo ordenado mês a mês....
minha tabela atendimento* tem um campo quantidade
select sum(at.quantidade)
from atendimento at
where cl.data between :pinicio and :pfim
preciso somar o total de quantidade no período informado, mas preciso retornar por mês (mes 1, mes 2,....)
o banco de dados é o firebird 1.5, e a função ´extract(month from cl.data)´ funciona para fazer comparações, mas se colocar
select sum(at.quantidade) ,extract(month from..
group by extract(month from ..
não compila......
Por favor, se alguém puder ajudar, agradeço desde já!!!
abraços
Lip
Curtidas 0
Respostas
Joaoshi
20/05/2008
select EXTRACT(MONTH FROM DATA),sum(quantidade)
from atendimento
where data between :pinicio and :pfim
GROUP BY 1
Espero ter ajudado.
from atendimento
where data between :pinicio and :pfim
GROUP BY 1
Espero ter ajudado.
GOSTEI 0
Lip
20/05/2008
então joao
coloquei dessa forma..
select extract(month from data),sum(quantidade)
from cl_atendimentos
where situacao = 2
and data between :p1 and :p2
group by 1
mas segue mensagem de erro
´Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 9.
1.´
eu utilizo o firebird 1.5, num sei se tem mto a ver a versão que estou utilizando..
coloquei dessa forma..
select extract(month from data),sum(quantidade)
from cl_atendimentos
where situacao = 2
and data between :p1 and :p2
group by 1
mas segue mensagem de erro
´Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 9.
1.´
eu utilizo o firebird 1.5, num sei se tem mto a ver a versão que estou utilizando..
GOSTEI 0
Joaoshi
20/05/2008
Colega, tente assim:
select extract(month from data),sum(quantidade)
from cl_atendimentos
where situacao = 2
and data between :p1 and :p2
group by extract(month from data)
Testei no Firebird 2.1
select extract(month from data),sum(quantidade)
from cl_atendimentos
where situacao = 2
and data between :p1 and :p2
group by extract(month from data)
Testei no Firebird 2.1
GOSTEI 0
Lip
20/05/2008
deu esse erro..
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 8.
extract.
deve ser a versão msm neh?
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 8.
extract.
deve ser a versão msm neh?
GOSTEI 0
Webjoel
20/05/2008
Olá!
O problema está no alias do extract, segue abaixo o sql correto:
O problema está no alias do extract, segue abaixo o sql correto:
select EXTRACT(MONTH FROM DATA) AS MES,sum(quantidade) from atendimento where data between :pinicio and :pfim GROUP BY MES
GOSTEI 0
Martins
20/05/2008
Seguinte meu amigo, deixe seu SQL como abaixo.
Boa sorte e bons códigos.
select extract(month from data),sum(quantidade) from cl_atendimentos where situacao = 2 and data between :p1 and :p2 group by 1
Boa sorte e bons códigos.
GOSTEI 0
Lip
20/05/2008
tentativa 1 - Martins
select extract(month from data),sum(quantidade)
from cl_atendimentos
where situacao = 2
and data between :p1 and :p2
group by 1
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 8.
1.
tentativa 2 - WebJoel
select EXTRACT(MONTH FROM DATA) AS MES,sum(quantidade)
from cl_atendimentos
where data between :pinicio and :pfim
GROUP BY MES
msg. erro:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
MES.
ouvi falar que a versao do firebird tem a ver.... será q eh isso msm?
select extract(month from data),sum(quantidade)
from cl_atendimentos
where situacao = 2
and data between :p1 and :p2
group by 1
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 8.
1.
tentativa 2 - WebJoel
select EXTRACT(MONTH FROM DATA) AS MES,sum(quantidade)
from cl_atendimentos
where data between :pinicio and :pfim
GROUP BY MES
msg. erro:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
MES.
ouvi falar que a versao do firebird tem a ver.... será q eh isso msm?
GOSTEI 0
Joaoshi
20/05/2008
Colega, verifique a versão do FB (a última versão que utilizei era 1.5.3), se for alguma versão RC atualize.
Se nada funcionar você poderia postar aqui, a forma exata que esta passando a instrução SQL + a layout da tabela.
Se nada funcionar você poderia postar aqui, a forma exata que esta passando a instrução SQL + a layout da tabela.
GOSTEI 0
Lip
20/05/2008
coloquei de todas as formas que me passaram até agora, e sempre da erro, (quando coloca 1 ou extract by) depois do group by...
[img]d:\imagem.JPG[/img]
achu q o print screen não vai junto, rs
ah, coloquei a versão 2.1 pra ver se dava certo tbm não compila... com os mesmos erros que eu postei antes
[img]d:\imagem.JPG[/img]
achu q o print screen não vai junto, rs
ah, coloquei a versão 2.1 pra ver se dava certo tbm não compila... com os mesmos erros que eu postei antes
GOSTEI 0
Lip
20/05/2008
pessoal, vlw pelas dicas, os sqls funcionam, o problema é no banco..
tanto no banco que tento o sql quanto em outro banco mais simples que criei, o sql funciona em outros computadores, menos no que estou trabalhando...
criei um banco novo em um pc de casa e funcionou o sql, mas ao criar um banco novo aqui neste computador o sql não funcionou, msm estando com dialect 3...
não sei o que fazer, estou quase formatando essa máquina aki
obrigado pela ajuda, té+
tanto no banco que tento o sql quanto em outro banco mais simples que criei, o sql funciona em outros computadores, menos no que estou trabalhando...
criei um banco novo em um pc de casa e funcionou o sql, mas ao criar um banco novo aqui neste computador o sql não funcionou, msm estando com dialect 3...
não sei o que fazer, estou quase formatando essa máquina aki
obrigado pela ajuda, té+
GOSTEI 0
Webjoel
20/05/2008
Olá!
Eu fiz com Firebird 2.0, mas creio que o problema não esteja na versão, o que talvez esteja acontecendo é alguma dll do banco esteja corrompida, pegue em uma maquina que funciona as dll fbclient.dll ou gds32.dll e substitua neste computador que naum esta funcionando, de uma pesquisar e troque todas!
Boa sorte!
Eu fiz com Firebird 2.0, mas creio que o problema não esteja na versão, o que talvez esteja acontecendo é alguma dll do banco esteja corrompida, pegue em uma maquina que funciona as dll fbclient.dll ou gds32.dll e substitua neste computador que naum esta funcionando, de uma pesquisar e troque todas!
Boa sorte!
GOSTEI 0
Lip
20/05/2008
exatamente, o problema era o gds32.dll, pq tem aki o interbase e firebird instalados, e acabava utilizando o gds32.dll do interbase
renomeei o fcliente* para gds32.dll e substitui o arquivo existente, agora ja possibilita fazer as sqls
vlw galera, obrigado msm
xD
renomeei o fcliente* para gds32.dll e substitui o arquivo existente, agora ja possibilita fazer as sqls
vlw galera, obrigado msm
xD
GOSTEI 0