如果在join t-sql中

Ash*_*egi 2 sql t-sql

我有一个很大的t-sql存储过程与这部分,我担心:

insert into @list
(
params
...
) 
select params
,..
,oip.someAttr
from @list2 as O
join dbo.abc oip
on oip.id = O.id
AND oip.prgId <> 4
join .. someother tables
...
where oipr.attrA = 1232
Run Code Online (Sandbox Code Playgroud)

现在我想写一个逻辑,想要在存储过程"@value bit"中有一个额外的参数,如果它被设置,那么只应该检查"AND条件",否则不应该.

所以,如果我喜欢

join dbo.abc oip
on oip.id = O.id
[AND]??? (i donot know).
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

Lam*_*mak 5

这应该这样做: AND (oip.prgId <> 4 OR @value = 0)