ssrs中带有多值参数的','附近的语法不正确

时间:2018-09-24 10:34:44

标签: sql sql-server reporting-services

当查询被声明为varchar时,我无法获得正确的语法。 我下面的原始查询按预期工作:

GetResourceFileText("YourFileNameHere.ext", Assembly.GetExecutingAssembly().GetName().Name);

如果为任何参数选择了多个值,我将在当前查询中收到语法错误:

WHERE location in ('+@location+') AND costcentre in ('+@costcentre+') AND drug_name in ('+@drug_name+') 

2 个答案:

答案 0 :(得分:0)

我认为在这里,引号会破坏字符串。如果我理解正确,那么它将起作用(更改[']-> ['']并将变量与值连接起来)。

    SET @query = 'SELECT ....
WHERE location in (''' + @location + ''') AND costcentre in (''' + @costcentre + ''') AND drug_name in (''' + @drug_name + ''') 

如果上述方法不起作用,请尝试打印@query。

答案 1 :(得分:0)

您可以尝试加入参数选择吗?我假设@location是一个参数,所以像这样:

Join(Parameters!location.Value, ",")

此链接也可能有帮助: https://www.sqlchick.com/entries/2012/2/25/displaying-single-multi-valued-report-parameter-selections-i.html