对参数中的值使用表达式
Using expressions for a value in Paramaters
我有一份报告,return 有多种产品,具体取决于您 select 的产品组。这些产品中的大多数都有相似的产品代码,使我可以使用 LIKE 运算符来获得所需的结果。但是,对于一个特定的产品组,我遇到了以下问题:
VSAMPLES
VSAMPLES2016
VSAMPLES2016DD
VSAMPLESADD
VSAMPLESET
VSAMPLESLARGE
VSAMPLESLARGEADD
VSAMPLESNEW
我只需要列出前两个产品。但是使用 'VSAMPLES%
作为参数值将 return 所有这些产品。
我可以写一个参数值的表达式,将使用'VSAMPLES%
和'VSAMPLES2016%
只用于return这两个产品吗?
编辑
查询是:
SELECT STRC_CODE, STRC_DESC FROM DeFactoUser.F_ST_Products
WHERE STRC_CODE LIKE @ProductCode
我正在使用 LIKE,因此我不必为每个组指定几十个产品。
对于一个参数值,我使用 'PA.A%
这非常有效,因为每个以 PA.A 开头的产品都是必需的。对于 VSAMPLES,情况并非如此。
参数值如下:
那么,我能否不向 Aspire 选项卡添加一个值,该值将 return 只有这两个产品?
好的,我问的可能不可能。我通过更改查询解决了这个问题。
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%
作为值时,这导致我只需要返回两个产品。
比我想的要简单得多。
感谢您对我提出的问题提出意见。
我有一份报告,return 有多种产品,具体取决于您 select 的产品组。这些产品中的大多数都有相似的产品代码,使我可以使用 LIKE 运算符来获得所需的结果。但是,对于一个特定的产品组,我遇到了以下问题:
VSAMPLES
VSAMPLES2016
VSAMPLES2016DD
VSAMPLESADD
VSAMPLESET
VSAMPLESLARGE
VSAMPLESLARGEADD
VSAMPLESNEW
我只需要列出前两个产品。但是使用 'VSAMPLES%
作为参数值将 return 所有这些产品。
我可以写一个参数值的表达式,将使用'VSAMPLES%
和'VSAMPLES2016%
只用于return这两个产品吗?
编辑
查询是:
SELECT STRC_CODE, STRC_DESC FROM DeFactoUser.F_ST_Products
WHERE STRC_CODE LIKE @ProductCode
我正在使用 LIKE,因此我不必为每个组指定几十个产品。
对于一个参数值,我使用 'PA.A%
这非常有效,因为每个以 PA.A 开头的产品都是必需的。对于 VSAMPLES,情况并非如此。
参数值如下:
那么,我能否不向 Aspire 选项卡添加一个值,该值将 return 只有这两个产品?
好的,我问的可能不可能。我通过更改查询解决了这个问题。
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%
作为值时,这导致我只需要返回两个产品。
比我想的要简单得多。
感谢您对我提出的问题提出意见。