Especificar as colunas em sua consulta deve funcionar:
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
deve fazer o truque no que diz respeito a escolher as colunas que você deseja.
Para contornar o fato de que alguns dados estão apenas em items_a e alguns dados estão apenas em items_b, você pode fazer:
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
A função coalesce retornará o primeiro valor não nulo, portanto, para cada linha, se col1 não for nulo, usará isso, caso contrário, obterá o valor de col2 etc.