是否可以根据案例陈述使用in
命令
我尝试过这样的事情
@Id int
Select *
From Table
Where StatusId in( case when Id =1 then 1 else 1,3 end)
和
Select *
From Table
Where StatusId in case when Id =1 then (1) else (1,3) end
任何想法!!
答案 0 :(得分:3)
不,你需要以不同的方式解决这个问题:
Where (Id = 1 and StatusId in (1)) or (Id <> 1 and StatusId in (1, 3))
这种模式的变化是可能的。
答案 1 :(得分:2)
对于您的示例,您可以这样做:
where StatusId = 1 or (Id <> 1 and StatusId = 3)
答案 2 :(得分:-1)
在MySQL中,这样的查询有效:
Select * from
Table
where case when Id = 1 then StatusId = 1
else StatusId in (1,3) end;
试试这个,让我知道它是否有效,谢谢