Mat*_*oll 3 sql sql-server sql-server-2012
我在存储过程中遇到了一个我无法弄清楚的问题.我需要为5个项目应用一个案例过滤器,如果它是一个特定项目,我需要它返回所有之前的5个项目.
代码是这样的:
...
WHERE [dbo].[ID] = CASE @var
WHEN 'a' THEN 0
WHEN 'b' THEN 1
WHEN 'c' THEN 2
WHEN 'd' THEN 3
WHEN 'e' THEN 4
WHEN 'all' THEN -- return 0 through 4 as possible answers
END
Run Code Online (Sandbox Code Playgroud)
为了ALL价值,你需要放置 [dbo].[ID] = [dbo].[ID]条件
WHERE [dbo].[ID] = CASE @var
WHEN 'a' THEN 0
WHEN 'b' THEN 1
WHEN 'c' THEN 2
WHEN 'd' THEN 3
WHEN 'e' THEN 4
WHEN 'all' THEN [dbo].[ID]
END
Run Code Online (Sandbox Code Playgroud)