如何在oracle里面的where子句中使用case语句?

Bab*_*boB 0 oracle plsql case

我得到PL/SQL:ORA-00905:运行以下脚本时缺少关键字错误

create or replace procedure testing
(ass_line in char,
 curs out sys_refcursor
)
is
begin
open curs for 
select asl.Production_Group,asl.last_sequence_nbr
from ASSEMBLY_LINE asl
where(case 
   when ass_line='551F'
     then asl.assembly_line in('551F','551C','551S')
   else
     asl.assembly_line=ass_line
   end);
end;
Run Code Online (Sandbox Code Playgroud)

请帮帮我

Ren*_*ene 5

对于那些在这里居住,实际上需要在where子句中使用case语句的人.

 where (case
          when ass_line = '551F' then
           case
              when asl.assembly_line in ('551F', '551C', '551S') then
               1
              else
               0
           end
          else
          case
             when asl.assembly_line = ass_line then
              1
             else
             0
          end
       end) = 1
Run Code Online (Sandbox Code Playgroud)