[英]SQL Can I use CASE statement with addition condition in a JOIN condition
我想將 join 與 case 語句和添加條件一起使用,例如:
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
但是此代碼會導致語法錯誤。 誰能幫忙解釋一下?
在Join
條件和Where
子句中使用Case When then
是不可能的。 您想要實現的目標可以使用And
和OR
來實現,如下所示。
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)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.