Sie scheinen einen left join zu wollen :
select a.id, b.idcategory, b.value
from a left join
b
on b.id = a.id and b.idcategory = 1;
Der value Spalte hat NULL statt 'no value' . Sie können ersetzen, aber NULL dient normalerweise diesem Zweck.