Если вам явно сказано использовать оператор case..when
, вам следует использовать следующее:
WHERE case when '&BO_Status' = 'AAA'
Then case when T1.STATE IN ('In Progress', 'Confirmed')
Then 1
End
Else 1
End = 1
Или же лучший способ сделать это - вообще не использовать оператор case..when
, как предложено @ Гордон.
WHERE ('&BO_Status' = 'AAA' AND T1.STATE IN ('In Progress', 'Confirmed')) OR
'&BO_Status' <> 'AAA'
Я считаю, что когда статус не AAA
, то вы хотите все (без условия where
)
Приветствия !!