[firebase-br] SELECT COM CASE
Eduardo Bahiense
eduardo em icontroller.com.br
Sáb Jan 19 17:41:12 -03 2008
Olá Anderson
REGIAO é um alias e vc não pode se referir a um alias na cláusula WHERE
desta forma. No seu caso, você tem duas opções:
1. Se for FB 2.x, utilizar um SELECT FROM SELECT
SELECT REGIAO FROM
(SELECT CASE ... END AS REGIAO)
WHERE REGIAO = 'Desconhecida'
2. Criar uma tabela UFS com os campos SIGLA, REGIAO (e outros) e usar
uma consulta do tipo:
SELECT
COALESCE(B.REGIAO, 'Desconhecida')
FROM CLI A
LEFT JOIN UFS B ON A.UF=B.UF
WHERE
B.UF IS NULL
Anderson Miranda Barrozo escreveu:
> Boa tarde,
>
> Galera, porque a clausula where nao esta localizando o campo REGIAO. Será que é devido fazer parte da instrução case ?
>
> select case when (cli.CliUf in ('RS','SC','PR')) then 'Sul' when (cli.CliUf in ('SP','RJ','ES','MG')) Then 'Sudeste' when (cli.CliUf in ('MT','MS','GO','DF')) Then 'Centro-Oeste' when (cli.CliUf in ('AC','RO','AM','RR','AP','PA','TO')) Then 'Norte' when (cli.CliUf in ('MA','PI','CE','RN','PB','PE','AL','SE','BA')) Then 'Nordeste' else 'Região Desconhecida' end as REGIAO, CliNome, CliCidade From Cliente cli Where REGIAO='Região Desconhecida'
>
> Anderson Miranda
> _________________________________________________________________
> Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
> http://www.amigosdomessenger.com.br/
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista