与
- SQL 服务器 2005
- 程序
- 参数
我有一个正常的查询:
select column1, column2
from table1
where column3 in ( select columnb from table2 )
现在我有一个过滤器,例如一个 int
declare @filtertype int /*@filtertype=1 then column3,@filtertype=2 then column2*/
set @filtertype int
我喜欢这样的东西
select column1, column2
from table1
where
case when @filtertype=1 then (column3 in (select columnb from table2))
else (column2 in (select columnb from table2))
如果你看到它,你会看到独特的变化是 column3 的 column2
我不想像这样复制我的大查询:
if(@filtertype=1)
begin
first query
end
else
other query
begin
end