需求是这样的,select * from table t where t.a=? and t.b=? and t.c=? and t.d=?
where后面的条件查询的数据量是逐渐变少的的 我想知道如果没有查到数据 是哪个条件起作用了 并获取到这个条件 不想采用逐层判断的方式 能否在一个sql中实现呢
需求是这样的,select * from table t where t.a=? and t.b=? and t.c=? and t.d=?
where后面的条件查询的数据量是逐渐变少的的 我想知道如果没有查到数据 是哪个条件起作用了 并获取到这个条件 不想采用逐层判断的方式 能否在一个sql中实现呢
我觉得可以的!你这样去做每个查询返回查询的条数。
select count(*) t3_num ,t3.* from
(
select count(*) t2_num ,t2.* from
(
select count(*) t1_num ,t1.* from
(
select count(*) t_num ,t.* from table t where t.a=?
)t1 where t1.b=?
) t2 where t2.c=?
) t3 where t.d=?
这样每次查询的数量你就知道了后台得到数据也就可以判断是哪一个条件查询没有数据了!