SQL-根据查询位置运行选择语句

时间:2019-12-10 14:05:51

标签: sql tsql

嗨,我想创建一个执行以下操作的查询。选择参数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

2 个答案:

答案 0 :(得分:0)

您只需要在Population子句中引用变量

td

上面的查询将始终选择TableB中的所有内容,并且仅在变量等于25时才选择TableA中的所有内容。

答案 1 :(得分:0)

由于您使用的是SSRS,所以我要做的是编写查询以返回所有行,然后在参数为25时在SSRS报告中应用过滤器。我不会将参数值传递给SQL端除非它大大减少了查询的运行时间。

(我会在评论中添加它。)