将查询更改为SSRS中的表达式

时间:2019-02-14 21:47:57

标签: visual-studio reporting-services

我正在尝试将SQL查询转换为SSRS中的表达式;但是,表达式的行为似乎不符合我的预期。我过去曾经这样做过,但我不记得它的表现方式。我希望有人可以向我阐明目前是否有比我现在尝试的更好的方法。我知道我可以使用存储过程来解决此问题,但是由于这是一回事,所以我希望避免这种情况。

="if '" & Join(Parameters!pParam.Value,"") & "' = 'X'
select * from table 1
else
select * from table 2"

我希望将其视为单个字符串,但事实并非如此。我需要执行以下操作以将其视为单个字符串。

="if '" & Join(Parameters!pParam.Value,"") & "' = 'X' " & 
"select * from table 1 " & 
"else " & 
"select * from table 2"

或者我可以将所有内容都放在一行中,这对于简短的内容来说比较容易,但是对于较长的脚本来说却不可行。

1 个答案:

答案 0 :(得分:0)

为什么不简单地在数据集中这样做呢?。

select * from table1 where @pParam.Value = 'X' 
union all 
select & from table2 where @pParam.Value <> 'X'

我假设两个表都返回匹配的列和数据类型。

始终明确选择列,而不要选择*!