[RESOLVIDO] Erro ao fazer condicional Mysql

Pessoal, eu tenho seguinte problema… eu preciso fazer essa consulta em sql, onde se a fatura estiver cancelada,
eu vou exibir C, se não, eu exibo 1, e se estiver cancelada, eu exibo A de aberto.
porém, quando rodo a instrução abaixo, não funciona… alguém sabe me dizer onde está meu erro?

[code]SELECT
(
IF(AR.CANCELADO = ‘0’,‘C’, NULL)
ELSE IF(AR.EFETIVADO=‘1’,‘E’,NULL)
ELSE (AR.EFETIVADO=‘0’,‘A’,NULL)

) as STATU [/code]

[code]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELSE IF(AR.EFETIVADO=‘1’,‘E’,NULL)
ELSE (AR.EFETIVADO=‘0’,‘A’,NULL)

) as STATU’ at line 4[/code]

Syntax for IF...ELSE IF ( Boolean_expression ) BEGIN Sql Statement Block END ELSE BEGIN Sql Statement Block END

Não estou com um MySQL aqui, mas olhando pela documentação, você não pode usar ELSE com IF nesse caso.

http://dev.mysql.com/doc/refman/4.1/pt/control-flow-functions.html

SELECT  
(
  IF (AR.CANCELADO = '0', 'C', 
      IF (AR.EFETIVADO = '1', 'E', 'A')
  )
) as STATU 

tenta fazer assim

Select 
  case 
      when AR.CANCELADO = '0' THEN 'C'
      when AR.EFETIVADO = '1' THEN 'E'
      when AR.EFETIVADO = '0' then 'A'
  end as status
case

[editado] PS: o do entanglement deve funcionar melhor =P

Abraços

Tentei como disse, e não deu certo não…

IF(AR.CANCELADO='0') BEGIN AR.STATU ='C' END

Acho que o case não resolve meu problema pelo seguinte…
se eu tiver uma conta cancelada=1 e que tenha sido efetivada, deverá aparecer C ao invés de E.
e vice-versa…

when AR.CANCELADO = '1' THEN 'C' when AR.EFETIVADO = '1' THEN 'E'

Por isso eu precisaria fazer algo parecido com em java

if(cancelado) entra e não testa os outros.. else if(efetivado) se passou pelo if entra e não testa os seguintes else se passou sem entrar nos anteriores entra e continua

Desculpem, a solução apresentada pelo machado roda perfeitamente, e faz oque preciso…
OBg à todos…
meu código ficou assim…

[quote]SELECT

case
when AR.CANCELADO = ‘1’ THEN ‘C’ //Testa, se true sai do case, se false, testa os outros2
when AR.EFETIVADO = ‘1’ THEN ‘E’//Se passou sem entrar no primeiro testa esse, se true sai do case se false, testa o próx.
when AR.EFETIVADO = ‘0’ then ‘A’//Se passou pelos anteriores, sem entrar, testa esse…
end as statu,[/quote]