Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo1972

[Resolvido] Comando CASE

Recommended Posts

Pessoal estou com problema em um select:

 

SELECT codigo,
(case
when operacao = 'E' then 'EXCLUSÃO'
when operacao = 'A' then 'ALTERAÇÃO'
when operacao = 'I' then 'INCLUSÃO'
end) as tipo
from auditoria

 

Invalid token.

Dynamic SQL Error.

SQL error code = -104.

Token unknown - line 3, char -1.

when.

 

Banco: Firebird 1.5

IbExpert 2008.11.27

Dialeto: 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite,

 

Sim, ambos os campos fazem parte da tabela auditoria, e o erro persiste mesmo após a consulta sugerida.

 

Obrigado,

 

Marcelo1972, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum iMasters

 

Na sua tabela auditoria existem ambos os campos: codigo e operacao??

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT codigo,

(case

when operacao = 'E' then 'EXCLUSÃO'

when operacao = 'A' then 'ALTERAÇÃO'

when operacao = 'I' then 'INCLUSÃO'

else '' end) as tipo

from auditoria

 

Creio que :

 

Ou faltou o else

 

ou o BD não suporta a sintaxe do case

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade o Firebird suporta o CASE.

Só agora reparei como esta errado, o correto é:

 

SELECT codigo,
           case operacao
               when 'E' then 'EXCLUSÃO'
               when 'A' then 'ALTERAÇÃO'
               when 'I' then 'INCLUSÃO'
           end as tipo
from auditoria

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite,

 

obrigado pelas sugestões, porém, as tuas consultas apresentam o erro:

 

Invalid token.

Dynamic SQL Error.

SQL error code = -104.

Token unknown - line 3, char -1.

when.

 

Talvez seja alguma configuração que estou esquecendo ou algo do tipo, impossível.

 

Obrigado.

 

 

Na realidade o Firebird suporta o CASE.

Só agora reparei como esta errado, o correto é:

 

SELECT codigo,
           case operacao
               when 'E' then 'EXCLUSÃO'
               when 'A' then 'ALTERAÇÃO'
               when 'I' then 'INCLUSÃO'
           end as tipo
from auditoria

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.