s-s-rS 空白参数
Posted
技术标签:
【中文标题】s-s-rS 空白参数【英文标题】:s-s-rS Blank Parameters 【发布时间】:2016-08-08 16:44:49 【问题描述】:我有 3 个简单的参数,它们都是文本,并且允许多个值以及空白值。没有可用值或默认值,因为我希望用户自己键入值。将所有参数留空时,不会显示任何数据,因为没有空白值。但是,当没有为参数输入值时,我想显示所有数据。我该怎么做?
这就是查询现在的样子
SELECT [PROGRAMNO]
,[ACCTNO]
,[CLAIMNO]
,[TOTALCHARGES]
,[TOTALPAYMENT]
,[TYPE]
FROM DATALINE
WHERE PROGRAMNO IN (@PROGRAMNO)
AND ACCTNO IN (@ACCTNO)
AND CLAIMNO IN (@CLAIMNO)
【问题讨论】:
【参考方案1】:您可以添加 OR 以允许每个条件为 NULL(或空白)值 - 取决于您在参数中允许的值。
WHERE (PROGRAMNO IN (@PROGRAMNO) OR @PROGRAMNO is null)
AND (ACCTNO IN (@ACCTNO) OR @ACCTNO IS NULL)
AND (CLAIMNO IN (@CLAIMNO) OR @CLAIMNO IS NULL)
或者如果您允许使用空白值:
WHERE (PROGRAMNO IN (@PROGRAMNO) OR @PROGRAMNO = '' )
AND (ACCTNO IN (@ACCTNO) OR @ACCTNO = '' )
AND (CLAIMNO IN (@CLAIMNO) OR @CLAIMNO = '' )
【讨论】:
【参考方案2】:多值参数不允许空白输入。因此,您需要在下拉列表中添加一个代表空白值的项目。如果您手动指定可用值,您只需将其添加到列表中。该值将为空白,标签可能类似于“空白”或“N/A”。如果您使用查询来填充可用值,则需要将UNION
这个空白值添加到其他结果中。无论哪种方式,您还需要在主数据集中的 WHERE
子句中考虑这一点,正如 Hannover Fist 指出的那样。
【讨论】:
以上是关于s-s-rS 空白参数的主要内容,如果未能解决你的问题,请参考以下文章
即使数据不在 s-s-rS 报告中的表格中,我们能否获得与空白相同数量的输出?