Sql server 2008 处理SS报告中的多个值

Sql server 2008 处理SS报告中的多个值,sql-server-2008,reporting-services,Sql Server 2008,Reporting Services,我有一个问题,我有一个带有多值字段的SSRS报告,我只是想知道如何从我创建的SQL存储过程中解析它 Multiple Values -> Egg,Banana,Apple,Candies,Honey SQL: 我如何才能将多个值放入IN子句中,同样,这是正确的方法,还是有其他方法 我应该像一根绳子一样传递它吗 @varTemp = 'Egg','Banana','Apple','Candies','Honey' SELECT Qty, Amount FROM tblFoodList

我有一个问题,我有一个带有多值字段的SSRS报告,我只是想知道如何从我创建的SQL存储过程中解析它

Multiple Values -> Egg,Banana,Apple,Candies,Honey
SQL:

我如何才能将多个值放入IN子句中,同样,这是正确的方法,还是有其他方法

我应该像一根绳子一样传递它吗

@varTemp = 'Egg','Banana','Apple','Candies','Honey' 

SELECT Qty, Amount FROM tblFoodList WHERE ListOfFood IN (@varTemp)

顺便说一句,我使用的是SQL 2008 R2和SQL的字符串操作方法,因为您使用的是存储过程,所以SSR将始终传递CSV列表;没有表值参数或类似的选项

所以它将是一个字符串,看起来像“鸡蛋、香蕉、苹果、糖果、蜂蜜”

下一步是将这个字符串转换成某种表变量,并在
in
子句中使用它;这里有很多技巧可以使用

保持了一个伟大的技术清单

所以这个问题也有多种选择


如果将查询直接嵌入报表中,则可以在(@varTemp)中引用变量
;它本质上是动态SQL,因此将构建适当的查询。如果你不想把太多的逻辑放在SP. < /P>,谢谢你为我澄清事情。
@varTemp = 'Egg','Banana','Apple','Candies','Honey' 

SELECT Qty, Amount FROM tblFoodList WHERE ListOfFood IN (@varTemp)