[firebase-br] dúvida where

Rafa Pimenta rafa.spimenta em gmail.com
Qua Maio 4 09:09:30 -03 2011


Não estou recebendo os e-mails da lista e não sei porque! Mas verifiquei a
discução atravéss do endereço da lista.

Sobre minha dúvida, eu não posso (não queria) repetir a expressão no where,
pois, para eu chegar na "diferenca" existe vários cálculos e cases que faço
no select, então achei mlehor postar um select genérico para melhor
entendimento da dúvida.

O que eu estava procurando era exatamente isso que o amigo postou:
Obs.: (criei essa conexao usando a versão 2.1 do firebird e dialect 3. O
banco citado abaixo é o EMPLOYE que vem junto com o firebird)

Select x.*
from (select
        cast((job.max_salary - job.min_salary) as decimal(9,2)) as diferenca
      from job
      where
        job.job_code = '01') x
where x.diferenca > 0

Porém o IBExpert acusa a seguinte mensagem de erro:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, char 7.
select.

Algúem pode me ajudar?




Em 3 de maio de 2011 16:29, Rafa Pimenta <rafa.spimenta em gmail.com> escreveu:

> Boa tarde, eu faço um calculo para exibir a um determinado valor. Estou
> chamando a coluna q vai mostrar esse valor de diferença:
>
> select
>   cast((MI.matinvqtddi2 - MI.matinvqtddi1) as decimal(9,2)) as diferenca
> from TQuatidade MI
> where
>   MI.filialcod = '01' and
>   diferenca > 0
>
>
> Esse SQL que passei vai dar erro, post a coluna diferenca nao existe na
> tabela TQuantidade.
>
> Existe alguma forma de acessar difernca no where?
>



Mais detalhes sobre a lista de discussão lista