ऐसा लगता है कि आप left join :
select a.id, b.idcategory, b.value
from a left join
b
on b.id = a.id and b.idcategory = 1;
value कॉलम में NULL है इसके बजाय 'no value' . आप कर सकते हैं इसे बदलें, लेकिन NULL आमतौर पर उस उद्देश्य को पूरा करता है।