我想將 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
但是這段代碼會導致語法錯誤。誰能幫忙解釋一下?
uj5u.com熱心網友回復:
使用Case When then的Join條件與Where條款在這種情況下你所想要實作不可能是可行與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)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/379328.html
標籤:sql sql-server
下一篇:將列添加到特定表
