我想整数倍值传递给子报表,以便使用下面的SQL请求:手动传递多个整数值的SSRS sureport
SELECT *
FROM Table as T
WHERE Code IN (@Code)
我想通过3个整数值@代码:1,2和3
我试图使用Split()和Join()的各种组合,但都没有工作。
我想整数倍值传递给子报表,以便使用下面的SQL请求:手动传递多个整数值的SSRS sureport
SELECT *
FROM Table as T
WHERE Code IN (@Code)
我想通过3个整数值@代码: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)
无需进行JOINS或SPLITS,也无需更改数据集参数。它会工作。
当我在SSRS中使用多值参数时,我不得不在查询中使用表值函数。实质上,它将您的参数变成一张表格,您可以将其添加到INNER JOIN上。例如:
SELECT *
FROM Table as T
INNER JOIN tablevaluefuntion(@Code,',') as P--the ',' is the delimiter from your list
WHERE t.code = p.value
您尝试通过的值是从主报告的参数中选择的? – niktrs