可以选择在T-SQL中使用另一个表中的UNION而不使用临时表或动态sql?

Ton*_*ich 3 sql t-sql sql-server

我有两个具有相同结构的sql server表.在存储过程中,我从第一个表中选择了一个.偶尔我想根据传入的参数从第二个表中进行选择.

我想要一种方法来做到这一点,而无需使用动态SQL或临时表.

chr*_*ris 7

将param = 1传递给union,其他任何东西只返回第一个结果集:

select field1, field2, ... from table1 where cond
union
select field1, field2, ... from table2 where cond AND param = 1
Run Code Online (Sandbox Code Playgroud)