繁体   English   中英

SQL-SSRS使用LIKE搜索值列表

[英]SQL - SSRS Search for list of values using LIKE

首先,我将向您展示示例数据,预期的输入和输出:

VALUE1 | QTY
-------------
111-01 | 5
111-02 | 3
111-03 | 2
112-01 | 4

用户的预期输入为VALUE1或VALUE1的列表(在SSRS多值中,变量TEXT)。
预期输出是例如用户为每个VALUE1选择的QTY的总和,但有此条件

like SUBSTRING(VALUE1,1,3)+'%'

在这种情况下,用户选择111-01的输出为

VALUE1 | QTY
-------------
111    | 10

到目前为止,在IN语句中似乎像LIKE运算符。 我发现唯一的解决方案是从SSRS拆分参数并做一些循环(伪代码)

foreach @parameter in @parameter.Split
where VALUE1 like '@parameter[0]'+'%' or ...

我认为还有一些更优雅的解决方案。 无论如何,这种解决方案确实很慢。 我对SSRS经验不足,因此也许可以在创建数据集后进行一些分组来解决。

可能您可能想尝试:

  1. 伪代码:

     WITH condition AS ( SELECT SUBSTRING(c.SplitValue, 1, 3) Criteria FROM dbo.fncSplit('111-1,112-2,113-3,114-4,115-1,116-1', ',') c ) SELECT SUM(t.QTY) FROM dbo.tblTest t INNER JOIN condition con ON con.Criteria = SUBSTRING(t.Value1, 1, 3) 
  2. 尝试在表上进行全文索引,可能会提高性能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM