Eu preciso alterar o valor retornado, da instrução select, com base em várias condições. Eu tentei algo assim:
,CASE i.DocValue
WHEN 'F2' AND c.CondCode IN ('ZPR0','ZT10','Z305') THEN c.CondVal
ELSE 0
END as Value
por que não está funcionando e qual é a maneira recomendada de fazer isso? Haverá várias próximas condições WHEN.
obrigada
Existem dois tipos de
CASE
declaração, SIMPLES e PESQUISA .Você não pode avaliar várias expressões em uma expressão de caso simples, que é o que você estava tentando fazer.
Exemplo de CASE Simples:
Exemplo de um CASE pesquisado:
Leitura adicional: http://msdn.microsoft.com/en-us/library/ms181765.aspx
Você também pode escrever assim se tiver vários requisitos: