我正在尝试将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"
或者我可以将所有内容都放在一行中,这对于简短的内容来说比较容易,但是对于较长的脚本来说却不可行。
答案 0 :(得分:0)
为什么不简单地在数据集中这样做呢?。
select * from table1 where @pParam.Value = 'X'
union all
select & from table2 where @pParam.Value <> 'X'
我假设两个表都返回匹配的列和数据类型。
始终明确选择列,而不要选择*!