Tsql 手动将多个整数值传递给SSRS sureport
我试图将多个整数值传递给子报表,以便使用以下SQL请求: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
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
您试图传递的值是从主报告的参数中选择的?