客户col_a=3,存在表mytable中,并不存在表test_table中,查询加distinct和不加distinct,值有差异;求解答原理,造成差异的原因?
脚本一:跑出来值是2
select distinct type
from mytable a
left join (select col_name,
case when col_value like '%1%' then '1'
else '2' end type
from test_table) b on b.col_name=a.col_a
where col_a=3;
脚本二:跑出来值是null
select type
from mytable a
left join (select col_name,
case when col_value like '%1%' then '1'
else '2' end type
from test_table) b on b.col_name=a.col_a
where col_a=3;
不是要解决方案,可解决的方案不少;是想搞明白造成差异的原因