Uczyniłeś zadanie całkiem łatwym za pomocą sqlfiddle, a także próbowałeś rozwiązać problem za pomocą zapytania Select.
Działa tak, jak chcesz, a wszystko, co muszę zrobić, to dodać jeszcze jedno lewe sprzężenie z tabelą kategorii (IDK, dlaczego nie możesz dołączyć do Kategorii, ponieważ działa poprawnie).
Więc. Twoje zapytanie wybierające zostało przeze mnie edytowane w następujący sposób:
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;
Dzięki temu zapytaniu uzyskasz pożądane wyniki.
Teraz, aby zaktualizować Products
tabela z wynikiem tego zapytania, możesz wykonać następujące czynności:
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;
Kliknij tutaj, aby zobaczyć działające demo
Mam nadzieję, że to pomoże!