代码之家  ›  专栏  ›  技术社区  ›  eMRe

SSRS中带多值参数的“,”附近的语法不正确

  •  0
  • eMRe  · 技术社区  · 6 年前

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

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

    如果为任何参数选择了多个值,则在当前查询中会出现语法错误:

    SET @query = 'SELECT ....
    WHERE location in ('+@location+') AND costcentre in ('+@costcentre+') AND drug_name in ('+@drug_name+') 
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   Harsh Shankar    6 年前

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

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

        2
  •  0
  •   molleyc    6 年前

    你能试着加入参数选择吗?我假设@location是一个参数,比如:

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

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