我可以将字符串列表分配给变量以在IN语句中使用而不使用动态SQL?将变量设置为IN语句的字符串列表
我正在SSRS中开发一个报告,它允许用户选择三个可能的值中的一个作为参数,反过来将这个选择值与IN语句相关联。有些参数有一个关联的值,有些有几个参数。
情况1和2运行正常,但情况3并不是因为它是作为标量值而不是列表传递的。我试过各种方式逃避每个项目的引号,但它不起作用。
declare @items as varchar(50)
set @items =
CASE @parameter
WHEN 1 then 'first'
WHEN 2 then 'second'
WHEN 3 then 'third, fourth'
END
select column1
from table1
where column1 IN (@items)
可能重复[参数化SQL IN子句?](http://stackoverflow.com/questions/337704/parameterizing-a-sql-in-clause)(虽然这并不具体说明报告服务) –