SQL 条件查询语句解决思路

SQL 条件查询语句
SQL 条件查询语句解决思路

两个条件  一个是图番   一个是版次
如图  当两个条件为空时 我想查询出全部的行
当只有一个条件为空时  则只按别一个不为空的条件查询
当两个条件都不为空时  则使用 AND 语句  查询同时匹配两个条件的行

求SQL语句
------解决方案--------------------
declare @a varchar(10)--图番 
set @a =null
declare @b varchar(10)--版次
set @b=null
select * 
from tb
where a=isnull(@a,a) and b=isnull(@b,b)

说明一下:
1、不仅代码要设为null,前端也要协助,比如某个条件不为空,你前端可以用''或者其他什么来标识,但是传到SQL中就要用null
2、我上面的a、b分别对应你那两个参数,假设就是列名。
------解决方案--------------------
也可以前台代码控制: 当图番不为空时sql 语句为。。。调用对于查询方法;当版次不为空时sql 语句为。。。调用对于查询方法。。。。俩个都为空sql语句就为查询所有,  这是笨办法,但是很实用