sqlfiddleを使用してタスクを非常に簡単にし、Selectクエリを使用して問題を解決しようとしました。
それは私が推測するように機能し、私がする必要があるのは、カテゴリテーブルとの左結合をもう1つ追加することです(IDKは、正しく機能しているため、カテゴリに結合できなかった理由です)。
そう。選択したクエリを次のように編集しました:
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;
このクエリで必要な結果が得られます。
さて、Products
を更新するために このクエリの結果を含むテーブルでは、次の操作を実行できます。
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;
お役に立てば幸いです。