有时候我们会遇到这样一个场景:根据其中一个表字段值,判断是否执行其他查询语句。
也就是说,看第一个表中某字段的“眼色”,由其决定是否进行查询。其实很简单,但容易进入理解误区导致较真儿。
第一步:先实现一个表条件查询
select a from table1
第二步:根据条件一,执行后续语句
select t1.a,t1.b,t1.c from table1 t1
union all
select t2.a,t2.b,t2.c from table2 t2
WHERE 1=(select a from table1)
说明:
t1的a值是有1,2两种情况~ 1的时候 union all那段sql问拼接上去执行 2的时候 不执行 两个sql返回值个数和类型必须一致