sql 参数组合条件查询,条件为空不考虑
sql 参数组合条件查询,条件为空不考虑
如:
select a,b,c from t0
inner join (
select
t1.Model
from t1
where 条件
) t80 on t80.Model=t0.Model
where 条件
现在是想传入参数, @a ,@b ,@c 当他们不为空时才作为条件。
比如:如果@a='' 那么 就不用把a=@a考虑进来。这时 where b=@b,c=@c;
------解决方案--------------------改成过程拼接最好。。
否则
a=case when isnull(@a,'')='' then a else @a end 也可以但
会用不到索引。
------解决方案--------------------
用动态SQL的方法,
declare @tsql varchar(max)
select @tsql='select a, b,c from tb where '+@sql -->@sql是传入参数
exec(@tsql)