3

我在存储过程中遇到了一个我无法弄清楚的问题。我需要为 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
4

1 回答 1

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
于 2013-09-12T19:18:11.850 回答