在Paramaters中使用表达式作为值

时间:2017-09-19 10:24:07

标签: sql-server visual-studio-2012 reporting-services ssrs-2012

我有一份报告,根据您选择的产品组返回各种产品。大多数这些产品都有类似的产品代码,允许我使用LIKE运算符来获得所需的结果。但是,对于一个特定的产品组,我有以下问题:

VSAMPLES    
VSAMPLES2016    
VSAMPLES2016DD  
VSAMPLESADD 
VSAMPLESET  
VSAMPLESLARGE   
VSAMPLESLARGEADD
VSAMPLESNEW 

我只需要列出前两个产品。但是使用'VSAMPLES%作为参数值将返回所有这些产品。

我可以为参数值编写一个表达式,使用'VSAMPLES%'VSAMPLES2016%只返回这两个产品吗?

修改

查询是:

SELECT STRC_CODE, STRC_DESC FROM DeFactoUser.F_ST_Products
WHERE STRC_CODE LIKE @ProductCode

我正在使用LIKE所以我不必为每个组指定数十种产品。 对于一个参数值我正在使用'PA.A%这非常有效,因为每个需要以PA.A开头的产品都是必需的。在VSAMPLES的情况下,情况并非如此。

参数值如下:

enter image description here

那么,我是否可以不向Aspire选项卡添加仅返回这两个产品的值?

1 个答案:

答案 0 :(得分:0)

好的,我问的可能是不可能的。我通过改变我的查询来解决这个问题。

SELECT STRC_CODE, STRC_STATUS, STRC_DESC FROM DeFactoUser.F_ST_Products
WHERE STRC_CODE LIKE @ProductCode AND STRC_CODE NOT IN ('VSAMPLES2016DD', 
'VSAMPLESADD', 'VSAMPLESET', 'VSAMPLESLARGE', 'VSAMPLESLARGEADD', 
'VSAMPLESNEW')

当我使用VSAMPLES%作为值时,只会返回我需要返回的两个产品。

然后我想到了更简单。

感谢我提出的问题的输入。