FIND_IN_SET()
може да се използва само за търсене на една стойност в списък, разделен със запетая, не работи с два списъка.
Ще трябва да го извикате отделно за всяка стойност.
SELECT * FROM tablename
WHERE FIND_IN_SET('12', category_id) OR FIND_IN_SET('13', category_id) OR FIND_IN_SET('15', category_id)
Би било по-добре, ако нормализирате вашата схема, вместо да използвате списъци, разделени със запетая. Ако създадете таблица много към много с идентификаторите на категориите, можете да направите:
SELECT t1.*
FROM tablename AS t1
JOIN item_categories AS c ON t1.id = c.table_id
WHERE c.category_id IN (12, 13, 15)