Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why doesn't an OR operator work inside CASE statement?

I have been trying to put an OR operator in CASE expression but it doesn't work.

 WHERE W.Organization_ID = 
     CASE @IsAdmin OR @IsChiefEngineer 
     WHEN 1 
     THEN W.Organization_ID 
     ELSE @OrganizationID END

I want to check if any IsAdmin or IsChief engineer, either or they is 1 then Organization else @OrganizationID


2 Answers

Nearly, just alter your case expression a bit:

CASE
WHEN @IsAdmin = 1  OR @IsChiefEngineer = 1 
THEN W.Organization_ID 
ELSE @OrganizationID 
END
like image 80
dbajtr Avatar answered Jul 18 '26 04:07

dbajtr


You can write it as follows:

Where W.Organization_ID = CASE 
    WHEN @IsAdmin = 1 OR @IsChiefEngineer = 1 
        THEN W.Organization_ID 
    ELSE @OrganizationID END
like image 31
Nisarg Shah Avatar answered Jul 18 '26 06:07

Nisarg Shah



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!