嗨,我想创建一个执行以下操作的查询。选择参数25后,它仅运行查询的A部分,如果选择了其他任何数字,则运行表A和B选择查询。
以下示例:
DECLARE @Type varchar (200)
select * from
(SELECT sort_code FROM dbo.Test 1
WHERE FUNDING_YEAR = 26)
union
(SELECT sort_code FROM dbo.Test 2
WHERE FUNDING_YEAR = 26)
Where case when @Type = 25 then select * from table2 else table 1
答案 0 :(得分:0)
您只需要在Population
子句中引用变量
td
上面的查询将始终选择TableB中的所有内容,并且仅在变量等于25时才选择TableA中的所有内容。
答案 1 :(得分:0)
由于您使用的是SSRS,所以我要做的是编写查询以返回所有行,然后在参数为25时在SSRS报告中应用过滤器。我不会将参数值传递给SQL端除非它大大减少了查询的运行时间。
(我会在评论中添加它。)