Agrupar por Mês e Ano com SQL no Paradox???
Pessoal,
Na tabela tenho um campo DATA_MOV e estou precisando fazer uma consulta no banco Paradox que agrupe por mês e ano a quantidade de movimentação.
Ex. Tenho uma série de movimentos entrada/saida de 2003 e 2004, preciso gerar um gráfico de evolução (barras) por mês e ano (12/2003, 01/2004, 02/2004, 03/2004...) informando a quantidade de registro (count) de cada mês (01/2004 = 40, 02/2004 = 35).
O comando que tentei usar está dando erro no Paradox.
SELECT DATA_MOV, COUNT(MOV) AS TOTAL FROM T_MOVIMENTACAO GROUP BY EXTRACT(MONTH FROM DATA_MOV), EXTRACT(YEAR FROM DATA_MOV).
O que tem de errado nisso?
Obrigado.
Na tabela tenho um campo DATA_MOV e estou precisando fazer uma consulta no banco Paradox que agrupe por mês e ano a quantidade de movimentação.
Ex. Tenho uma série de movimentos entrada/saida de 2003 e 2004, preciso gerar um gráfico de evolução (barras) por mês e ano (12/2003, 01/2004, 02/2004, 03/2004...) informando a quantidade de registro (count) de cada mês (01/2004 = 40, 02/2004 = 35).
O comando que tentei usar está dando erro no Paradox.
SELECT DATA_MOV, COUNT(MOV) AS TOTAL FROM T_MOVIMENTACAO GROUP BY EXTRACT(MONTH FROM DATA_MOV), EXTRACT(YEAR FROM DATA_MOV).
O que tem de errado nisso?
Obrigado.
Ads
Curtidas 0
Respostas
Adilsond
13/05/2004
Como é que voce vai mostrar uma data se voce está agrupando pela mes/ano da mesma ?????
SELECT EXTRACT(MONTH FROM DATA_MOV) AS MES_MOV,
EXTRACT(YEAR FROM DATA_MOV) AS ANO_MOV,
COUNT(MOV) AS TOTAL
FROM T_MOVIMENTACAO
GROUP BY EXTRACT(MONTH FROM DATA_MOV),
EXTRACT(YEAR FROM DATA_MOV)
SELECT EXTRACT(MONTH FROM DATA_MOV) AS MES_MOV,
EXTRACT(YEAR FROM DATA_MOV) AS ANO_MOV,
COUNT(MOV) AS TOTAL
FROM T_MOVIMENTACAO
GROUP BY EXTRACT(MONTH FROM DATA_MOV),
EXTRACT(YEAR FROM DATA_MOV)
GOSTEI 0
Ads
13/05/2004
Deu erro ! ´Capability Supported´
Estou usando banco Paradox.
Estou usando banco Paradox.
GOSTEI 0
Adilsond
13/05/2004
Isto ocorre porque o BDE não aceita o extract no group by. Para reseolver o problema, faça o seguinte:
1 - Salve a query abaixo no mesmo diretório que se encontra a sua tabela, com a extensão .sql
Ex: MinhaConsulta.sql
2 - Utilize sua query (View) para a consulta seguinte:
1 - Salve a query abaixo no mesmo diretório que se encontra a sua tabela, com a extensão .sql
Ex: MinhaConsulta.sql
SELECT EXTRACT(MONTH FROM DATA_MOV) AS MES_MOV, EXTRACT(YEAR FROM DATA_MOV) AS ANO_MOV, MOV FROM T_MOVIMENTACAO
2 - Utilize sua query (View) para a consulta seguinte:
SELECT MES_MOV, ANO_MOV, COUNT(MOV) AS TOTAL FROM MinhaConsulta.sql GROUP BY MES_MOV, ANO_MOV
GOSTEI 0
Ads
13/05/2004
Obrigado pela ajuda !!
Vou testar e informo se funcionou.
Abraço.
Vou testar e informo se funcionou.
Abraço.
GOSTEI 0
Adilsond
13/05/2004
Para aqueles que não entenderam, espero ser mais claro:
O que fiz foi apenas criar uma view para possibilitar trabalhar com o BDE utilizando comando não aceitos diretos com tabelas Paradox,DBase.
Vamos dizer que necessito trazer a somatória de um valor por mes/ano entre um intervalo de ano.
O primeiro passo é criar uma query, com qualquer editor, que nos traga os dados necessários. Ex:
SELECT EXTRACT(MONTH FROM CAMPODATA) AS MES, // Estou trazendo apenas o mes da data
EXTRACT(YEAR FROM CAMPODATA) AS ANO, // Estou trazendo apenas o ano da data
VALOR // Estou trazendo o valor que será somado posteriormente
FROM MINHATABELA
O segundo passo é salvar esta query. Ela será salva no mesmo diretório onde se encontra a sua tabela. Esta query será apenas um arquivo texto com a extensão ´.sql´.
O terceiro passo é utilizar esta view. Então em seu projeto coloque uma query com o seguinte comando sql.
SELECT MES, ANO, SUM(VALOR)
FROM MINHAVIEW.SQL
WHERE ANO BETWEEN 2000 AND 2004
GROUP BY MES, ANO
ORDER BY ANO, MES
Espero que eu tenha sido mais claro. Qualquer dúvida, avivem-me.
O que fiz foi apenas criar uma view para possibilitar trabalhar com o BDE utilizando comando não aceitos diretos com tabelas Paradox,DBase.
Vamos dizer que necessito trazer a somatória de um valor por mes/ano entre um intervalo de ano.
O primeiro passo é criar uma query, com qualquer editor, que nos traga os dados necessários. Ex:
SELECT EXTRACT(MONTH FROM CAMPODATA) AS MES, // Estou trazendo apenas o mes da data
EXTRACT(YEAR FROM CAMPODATA) AS ANO, // Estou trazendo apenas o ano da data
VALOR // Estou trazendo o valor que será somado posteriormente
FROM MINHATABELA
O segundo passo é salvar esta query. Ela será salva no mesmo diretório onde se encontra a sua tabela. Esta query será apenas um arquivo texto com a extensão ´.sql´.
O terceiro passo é utilizar esta view. Então em seu projeto coloque uma query com o seguinte comando sql.
SELECT MES, ANO, SUM(VALOR)
FROM MINHAVIEW.SQL
WHERE ANO BETWEEN 2000 AND 2004
GROUP BY MES, ANO
ORDER BY ANO, MES
Espero que eu tenha sido mais claro. Qualquer dúvida, avivem-me.
GOSTEI 0
Adilsond
13/05/2004
Pessoal, desculpem-me pelo engano.
Apesar de funcionar salvando o arquivo com a extensão ´.sql´, a extensão correta é ´.qry´.
Apesar de funcionar salvando o arquivo com a extensão ´.sql´, a extensão correta é ´.qry´.
GOSTEI 0
Ads
13/05/2004
Funcionou perfeitamente !!!
Obrigado pela ajuda.
Abraço
Obrigado pela ajuda.
Abraço
GOSTEI 0