Я храню в столбце список идентификаторов категорий, разделенных запятыми:
Вот так: 1,2,3,4,5,6,7,8 .. и так далее, только их идентификаторы.
Затем я делаю запрос, чтобы получить все строки, имеющие категорию с идентификатором 2,3, и это работает, когда список пакетов содержит несколько элементов.
Это запрос и таблица:
mysql> select * from packages where category_id IN (2,3);
Любое решение для получения полного списка пакетов, содержащего идентификатор ctegory 2 или 3.