小编gMa*_*Man的帖子

T-SQL-合并IN子句和CASE语句

我需要做这样的事情:

select *
from  Table 
      inner join Few more tables
where t2.ID IN( case when @Param1 = 0 then 
                        (select ID FROM tbl10 WHERE ForeignKey = @param2) 
                else @Param1 end)
Run Code Online (Sandbox Code Playgroud)

因此,如果@ Param1为0,那么我希望某组值是一个匹配项(基于@ param2),如果其不为0,我只希望@ Param1进行匹配。我尝试了几种语法变体,但无法正常工作。

我也看到过类似的问题,但这并没有帮助我。

sql t-sql case sql-server-2008-r2

0
推荐指数
1
解决办法
2073
查看次数

标签 统计

case ×1

sql ×1

sql-server-2008-r2 ×1

t-sql ×1