老实说,我已经讨论了在这里发布的其他问题,这些问题提到了条件,我没有看到任何对我的情况有用的答案。如果这样做,请指出我!
在SSRS报告的存储过程中,用户可以在下拉列表中选择两个值之一 - 说是"是"或"否",然后进入变量@color
。
在Sproc的WHERE
子句中,我需要根据用户的选择来进行不同的过滤。
因此,如果@color = 'Yes'
,那么我需要在WHERE
子句中有一个读取 tb1.somecolumn = 'BLUE'
之类的行。但是,如果@color = 'No'
,那么我根本不需要该行(tb1.somecolumn
可以是任何值)。
我如何有条件地在WHERE
子句中包含一行?
在以下内容中包括@color
的检查。
WHERE (@color = 'No')
OR (@color = 'Yes' AND tb1.somecolumn = 'BLUE')
说明:
如果@color
的值为'No'
,则返回所有行。
如果@color
的值为'Yes'
,则仅返回'BLUE'
行。
尝试以下条件
WHERE (@color = 'Yes' AND tb1.somecolumn = 'BLUE')
OR (@color = 'No' AND tb1.somecolumn = tb1.somecolumn)