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)
------其他解决方案--------------------
a=case when isnull(@a,'')='' then a else @a end
这句话是什么意思 ------其他解决方案-------------------- 能详细点吗,本人新手。 ------其他解决方案-------------------- 或者这样
我想传一个参数@sql