无法弄清楚where子句的语法

时间:2011-08-30 13:10:52

标签: sql-server reporting-services

我的报告包含以下参数“Fine> 0”,选项为“是”,“否”,两者均使用多选下拉框。该参数将作为“是”,“否”或“是,否”传递给存储过程。

在SP中有与此类似的语法

Case WHEN @FineAmount = 'Yes' THEN I.Fine > 0 
WHEN @FineAmount = 'No' Then I.Fine = 0
ELSE I.Fine >= 0
    END

1 个答案:

答案 0 :(得分:2)

这是一些可以完成工作的案例逻辑。

where
  I.Fine > case
    when @FineAmount like '%Yes%' then 0
    else I.Fine + 1 end
  or I.Fine = case
    when @FineAmount like '%No%' then 0
    else I.Fine - 1 end