连接到Teradata的SSRS中的多个值参数返回错误

时间:2017-03-06 19:23:56

标签: reporting-services parameters teradata

我使用SSRS连接到Teradata并且有多个参数,其中许多参数寻求多个值。

挑战是所有这些参数可能无法始终填充,有时可能是空白。所以我使用的逻辑如下 -

Select * from Table
Where 
(Param1 in (?) or ? = '')
AND 
(Param2 in (?) or ? = '')
AND 
(Param3 = ? OR ? = '')

这给出了一个错误,说明预期的事情,如Precedes或Exists,In或者包含..........,

任何人遇到类似的问题?请帮忙。

1 个答案:

答案 0 :(得分:0)

我不确定Teradata,但在SQL Server中它会像这样完成..

SELECT * FROM MyTable
WHERE 
    (ColumnA IN (@Param1) OR ISNULL(@Param1,'')='')
    OR (ColumnB IN (@Param2) OR ISNULL(@Param2,'')='')

我已经使用ISNULL来考虑SSRS中允许参数为NULL的可能性。