exibir consulta sql no firebird por mês...

Firebird

18/10/2005

Estou tentando fazer esta seguinte consulta no componente IBQuery no delphi, acessando o banco de dados no firebird, mas não está executando, pelo fato de estar havendo erro de código sql.

É na linha order by, não é reconhecido o parâmetro
(EXTRACT(MONTH FROM M.DATANASCIMENTO))
Como posso order então por mês ????


SELECT C.CODIGO, C.NOME, C.DATANASCIMENTO,
(EXTRACT(DAY FROM C.DATANASCIMENTO))AS DIANASCIMENTO,
(EXTRACT(MONTH FROM C.DATANASCIMENTO))AS MESNASCIMENTO,
(EXTRACT(YEAR FROM C.DATANASCIMENTO))AS ANONASCIMENTO
FROM MEMBROS C
ORDER BY
(EXTRACT(MONTH FROM M.DATANASCIMENTO)),
(EXTRACT(DAY FROM M.DATANASCIMENTO)),
NOME


[b:7613653915][color=blue:7613653915]Tópico movido por Vinicius2K:[/color:7613653915][/b:7613653915] [b:7613653915][color=red:7613653915][list:7613653915][*:7613653915]Fórum original: Delphi[/list:u:7613653915][/color:7613653915][/b:7613653915]



Thiagopedro

Thiagopedro

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

18/10/2005

Colegas,

Existe alguma ´confusão´ nos áliases das tabelas...
... FROM MEMBROS [b:247edef73d][color=red:247edef73d]C[/color:247edef73d][/b:247edef73d] ORDER BY (EXTRACT(MONTH FROM [b:247edef73d][color=red:247edef73d]M[/color:247edef73d][/b:247edef73d].DATANASCIMENTO)), (EXTRACT(DAY FROM [b:247edef73d][color=red:247edef73d]M[/color:247edef73d][/b:247edef73d].DATANASCIMENTO))

Corrigido isto, vc deverá solucionar o problema.

T+


GOSTEI 0
Thiagopedro

Thiagopedro

18/10/2005

Colegas, Existe alguma ´confusão´ nos áliases das tabelas... [quote:ed80562629]... FROM MEMBROS [b:ed80562629][color=red:ed80562629]C[/color:ed80562629][/b:ed80562629] ORDER BY (EXTRACT(MONTH FROM [b:ed80562629][color=red:ed80562629]M[/color:ed80562629][/b:ed80562629].DATANASCIMENTO)), (EXTRACT(DAY FROM [b:ed80562629][color=red:ed80562629]M[/color:ed80562629][/b:ed80562629].DATANASCIMENTO))

Corrigido isto, vc deverá solucionar o problema.

T+[/quote:ed80562629]

Desculpe amigo, digitei errado, é porque eu quiz exemplificar o código melhor.

Revendo o código:

SELECT CODIGO, NOME,
(EXTRACT(DAY FROM DATANASCIMENTO))AS DIANASCIMENTO,
(EXTRACT(MONTH FROM DATANASCIMENTO))AS MESNASCIMENTO,
(EXTRACT(YEAR FROM DATANASCIMENTO))AS ANONASCIMENTO
FROM MEMBROS
ORDER BY
EXTRACT(MONTH FROM DATANASCIMENTO),
EXTRACT(DAY FROM DATANASCIMENTO),
NOME


Continuo ainda com a mesma dúvida!!!


GOSTEI 0
Vinicius2k

Vinicius2k

18/10/2005

Qual a versão do FB? Fiquei na dúvida agora se o erro seria por ele não estar aceitando função (EXTRACT) no ORDER BY.

Bem, se este for o problema, creio que vc solucione isto desta forma:
...
FROM MEMBROS 
ORDER BY 4,3,2

Utilizando, os índices dos campos na ordenação.

T+


GOSTEI 0
Thiagopedro

Thiagopedro

18/10/2005

Qual a versão do FB? Fiquei na dúvida agora se o erro seria por ele não estar aceitando função (EXTRACT) no ORDER BY. Bem, se este for o problema, creio que vc solucione isto desta forma:
...
FROM MEMBROS 
ORDER BY 4,3,2
Utilizando, os índices dos campos na ordenação. T+


Ok, colega, funcionou pela sua dica!!
Obrigado...


GOSTEI 0
POSTAR