Die Angabe der Spalten in Ihrer Abfrage sollte ausreichen:
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
sollte in Bezug auf die Auswahl der gewünschten Spalten ausreichen.
Um die Tatsache zu umgehen, dass sich einige Daten nur in items_a und einige Daten nur in items_b befinden, könnten Sie Folgendes tun:
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
Die Coalesce-Funktion gibt den ersten Nicht-Null-Wert zurück, also wird sie für jede Zeile, wenn col1 nicht null ist, diesen verwenden, andernfalls erhält sie den Wert von col2 usw.