我想整數倍值傳遞給子報表,以便使用下面的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