Ajuda com Order by em Interbase

Firebird

24/01/2012

Boa tarde Galera, preciso de uma ajuda com esse select em Interbase, no Firebird ele funciona certinho. Porém no Interbase 6 não, preciso de uma ajuda oque devo mudar. No Interbase ele me retorna erro no Order by, ja tentei colocar o apelido da coluna que é dia onde está 13 e não deu certo. Espero sugestões.


select ace.*, cast(ace.dat_acesso as date) as dia, prd.dsc_produto, tar.vlr_tarifa, cli.cod_cracha,cli.nom_cliente,cli.dsc_matricula,ccusto.dsc_centrocusto,emp.nom_fantasia from acesso ace, cliente cli, produto prd, empresa emp, centrocusto ccusto, tarifa tar where ace.cod_user=cli.cod_cliente and ace.cod_produto=prd.cod_produto and ace.ind_tipo_acesso=E and cli.cod_empresa=emp.cod_empresa and cli.cod_centrocusto=ccusto.cod_centrocusto and tar.cod_tarifa=prd.cod_tarifa and ace.dat_acesso >= cast(09/11/2011 00:00:01 as timestamp) and ace.dat_acesso <= cast(01/24/2012 23:59:59 as timestamp) order by cli.cod_empresa, 13, cli.nom_cliente,prd.dsc_produto,ccusto.dsc_centrocusto,ace.dat_acesso
Tiagom

Tiagom

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

24/01/2012

tente assim:

select ace.*, cast(ace.dat_acesso as date) as dia, prd.dsc_produto,
tar.vlr_tarifa, cli.cod_cracha,cli.nom_cliente,cli.dsc_matricula,
ccusto.dsc_centrocusto,emp.nom_fantasia
from acesso ace
inner join cliente cli on cli.cod_cliente = ace.cod_user
inner join produto prd on prd.cod_produto = ace.cod_produto
inner join empresa emp on emp.cod_empresa = cli.cod_empresa
inner join centrocusto ccusto on ccusto.cod_centrocusto = cli.cod_centrocusto
inner join tarifa tar on tar.cod_tarifa = prd.cod_tarifa
where ace.ind_tipo_acesso=E
and ace.dat_acesso >= cast(09/11/2011 00:00:01 as timestamp)
and ace.dat_acesso <= cast(01/24/2012 23:59:59 as timestamp)
order by
cli.cod_empresa, cast(ace.dat_acesso as date), cli.nom_cliente,
prd.dsc_produto,ccusto.dsc_centrocusto,ace.dat_acesso

eu fiz o relacionamento com join para ficar mais fácil de entender. essa alteração é somente estética.
agora note que no lugar do 13 eu coloquei cast(ace.dat_acesso as date), que é o verdadeiro conteúdo do campo dia.
sei que isso funciona no FB, mas não sei se funciona no IB.
GOSTEI 0
POSTAR