我有一个SSRS数据源,我想在SQL Server中进行测试,以便可以看到确切的结果集。我使用利用被传递到查询中的条款在报告中多值参数的报告在TSQL中重新创建SSRS数据源进行测试
AND T.OrderType IN (@OrderType)
我想这样做是在SQL语句的顶部声明变量在这里被引用。这是我尝试过的方法的例子,没有工作
DECLARE @OrderType VARCHAR(255); SET @OrderType = '''StringValue1'',''StringValue2''';
然而,这并没有产生
我可以创建变量(没有记录返回)所期望的结果,并将它成功返回行为单一类型,但通常我想在测试数据源时看到与在SSRS中相同的行为。以下是成功返回单个订单类型
DECLARE @OrderType VARCHAR(255); SET @OrderType = 'StringValue1';
目标是让一个带有变量的WHERE子句,如AND T.orderType IN(@OrderType)。当我尝试用一个字符串中的StringValues构建一个VARCHAR(255)变量时,它将返回任何结果。 – David 2012-03-12 20:03:57
重新思考这个问题,最好设置你的测试变量,如下所示:SET'@OrderType ='String1,String2,String3''。然后将'@ OrderType'中的值转储到表变量中。我将编辑我的答案来说明这一点。 – 2012-03-13 15:20:38