Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 手动将多个整数值传递给SSRS sureport_Tsql_Reporting Services_Subreport - Fatal编程技术网

Tsql 手动将多个整数值传递给SSRS sureport

Tsql 手动将多个整数值传递给SSRS sureport,tsql,reporting-services,subreport,Tsql,Reporting Services,Subreport,我试图将多个整数值传递给子报表,以便使用以下SQL请求: SELECT * FROM Table as T WHERE Code IN (@Code) 我想将3个整数值传递给@Code:1、2和3 我尝试使用Split()和Join()的各种组合,但都不起作用。您不需要做任何事情。如果您的参数设置为多值,并从查询或整数列表中获取其值,则SSRS将自动将逗号分隔的值列表插入到主数据集查询中 在您的示例中,如果选择了值1、2和3,并且主数据集与您的示例类似 SELECT * FROM Table

我试图将多个整数值传递给子报表,以便使用以下SQL请求:

SELECT *
FROM Table as T
WHERE Code IN (@Code)
我想将3个整数值传递给@Code:1、2和3


我尝试使用Split()和Join()的各种组合,但都不起作用。

您不需要做任何事情。如果您的参数设置为多值,并从查询或整数列表中获取其值,则SSRS将自动将逗号分隔的值列表插入到主数据集查询中

在您的示例中,如果选择了值1、2和3,并且主数据集与您的示例类似

SELECT *
FROM Table as T
WHERE Code IN (@Code)
那么实际上传递给服务器的是这个

SELECT *
FROM Table as T
WHERE Code IN (1,2,3)

不需要执行联接或拆分,也不需要更改数据集参数。当我在SSRS中使用多值参数时,我必须在查询中使用表值函数。本质上,它将您的参数转换为一个可以进行内部联接的表。例如:

SELECT *
FROM Table as T
INNER JOIN tablevaluefuntion(@Code,',') as P--the ',' is the delimiter from your list
WHERE t.code = p.value

您试图传递的值是从主报告的参数中选择的?