Посочването на колоните във вашата заявка трябва да свърши работа:
select a.col1, b.col2, a.col3, b.col4, a.category_id
from items_a a, items_b b
where a.category_id = b.category_id
трябва да свърши работа по отношение на избора на колоните, които искате.
За да заобиколите факта, че някои данни са само в items_a, а някои данни са само в items_b, бихте могли да направите:
select
coalesce(a.col1, b.col1) as col1,
coalesce(a.col2, b.col2) as col2,
coalesce(a.col3, b.col3) as col3,
a.category_id
from items_a a, items_b b
where a.category_id = b.category_id
Функцията coalesce ще върне първата стойност, различна от нула, така че за всеки ред, ако col1 не е null, тя ще използва това, в противен случай ще получи стойността от col2 и т.н.