Тип поля `fields`, я так понимаю, VARCHAR.
Так работать не будет. IN() ищет элемент в списке элементов, а на вход поступает один элемент - строка '1,2,3'.
Нормализуйте базу, переделайте
products_fieldcats, уберите поле `id`, оставьте поле `category_id` и замените `fields` на `field` INT. Первичным ключом будет пара (`category_id`, `field`). Тогда запрос преобразуется в
SELECT *
FROM `products_fieldlist` AS fl
LEFT JOIN `products_fieldcats` AS `fc` ON `fl`.`id` = `fc`.`field`