oracle veya mysql 8.0 kullanmıyorsanız sistemi değiştirmek şart
3 tane tablo gerekli
1 yazılar
2 kategoriler
3 yazıların bağlı olduğu kategoriler

yazılar tablosun basitce id, başlık vs bilgileri kategori ile alakalı bir bilgi bulunmaz
kategoriler tablosunda kategori id, kategori adi, üst katagori id vs bilgiler
son tablomuz ise yazıların bağlı olduğu kategori tablosunda da yazının id si ve kategori id si saklanır

şu anki yapınızda x kategorisinden yazıları listelemek için
select * from yazilar where 1=1 and (id = '1' or id like'1,%' or id like '%,1,%' or id like '%,1'
gibi bir query kullanmanız gerekiyor