我在存储过程中遇到了一个我无法弄清楚的问题。我需要为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
答案 0 :(得分:5)
对于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