1

Im trying to figure out if is it possible to do a statement like this :

select * from telephone
where TEL_number like @tel_number
and TEL_cat in (case 
                   when @tel_number_cat = 0 
                     then 5                           
                   else 1 or 3
                 end)

Is there a way to do a select where TEL_number like @tel_number and if @tel_number_cat = 0 then TEL_cat = 5 else TEL_cat = 1 or 3

Is it possible to use CASE Statement in WHERE IN () clause but in the ELSE I need to get 2 category of numbers (1,3)

I_G
  • 413
  • 1
  • 4
  • 18
  • [This](http://stackoverflow.com/a/10260297/92546) answer show how to use `case` and `in`. – HABO Apr 28 '17 at 12:32

1 Answers1

4

What about this:

select * from telephone
where TEL_number like @tel_number
and 
(

    (TEL_cat = 5 and @tel_number_cat = 0)
    OR
    (TEL_cat IN (1,3) and @tel_number_cat <> 0)

)
gotqn
  • 42,737
  • 46
  • 157
  • 243