I want to use join with case statement and addition condition, for example :
x
SELECT
TableA.*
FROM
TableA A
INNER JOIN
TableB B ON A.ID = B.TableA_ID
CASE
WHEN @zerocond = 1
THEN AND A.OrganizationId != '0'
WHEN @zerocond = 2
THEN AND COM.OrganizationId IN(1,2)
END
But this code results in a syntax error. Can anyone help to explain a little?
Advertisement
Answer
Using Case When then
in Join
Condition and in Where
Clause is not possible in this case
What you are trying to achieve is doable with And
and OR
like below.
SELECT
TableA.*
FROM
TableA A
INNER JOIN
TableB B ON A.ID = B.TableA_ID
Where ((@zerocond = 1
AND A.OrganizationId != '0')
OR (@zerocond = 2
AND COM.OrganizationId IN(1,2)))