Úkol jste si docela usnadnili pomocí svého sqlfiddle a také pokusu o vyřešení problému pomocí Select query.
Myslím, že to funguje tak, jak chcete, a vše, co musím udělat, je přidat další levé spojení s tabulkou kategorií (IDK, proč jste se nemohli připojit ke kategorii, protože to funguje správně).
Tak. Upravil jsem váš vybraný dotaz následovně:
select Products.name, Filters.*,Categories.id from Products
left join Filters
on Products.name LIKE CONCAT('%',Filters.filter,'%')
left join Categories
on Categories.name = Filters.category_name
GROUP BY Products.name;
S tímto dotazem získáte požadované výsledky.
Nyní, abychom aktualizovali Products
tabulky s výsledkem tohoto dotazu, můžete provést následující:
update Products
left join Filters
on Products.name LIKE CONCAT('%',Filters.filter,'%')
left join Categories
on Categories.name = Filters.category_name
set Products.category_name = Filters.category_name,
Products.category_id = Categories.id;
Kliknutím sem zobrazíte funkční ukázku
Doufám, že to pomůže!