sql - Table Join condition -
i have 2 tables table : item lookup x b null c y d k table b : lookup x y z want join these tables , output item lookup x b null c y
i wanna pick matching lookup , null lookups in output view. can tell me join condition
it looks want rows in a
either match b
or have null
lookup. inner join
, special condition:
select distinct a.item, a.lookup tablea join tableb b on (a.lookup = b.lookup) or (a.lookup null);
if have index on lookup
, exists
better performance:
select a.item, a.lookup tablea a.lookup null or exists (select 1 tableb b b.lookup = a.lookup);
edit:
using left join
where
condition possible:
select distinct a.item, a.lookup tablea left join tableb b on a.lookup = b.lookup (a.lookup null , b.lookup null) or b.lookup not null;
Comments
Post a Comment