product_idに基づいてすべてのparent_id名を取得して表示しようとしています。私がやっているのは、特定の製品にカテゴリを追加できる管理ページを作成することですが、最初にparent_idに関連付けられているカテゴリテーブルの各名前を追加/編集できるようにする必要があります。私はPRODUCT_ID 99を照会するときSQLカテゴリ - すべてのparent_id名を取得できません
だから、私は戻って取得する必要がありますスケートボード - > action_sports - >スポーツ
Categories Table
----------------------------------
| id | name | parent_id |
----------------------------------
| 1 | sports | null |
----------------------------------
| 2 | action_sports | 1 |
----------------------------------
| 3 | skateboarding | 2 |
----------------------------------
Product Category Joiner Table
----------------------------
| product_id | category_id |
----------------------------
| 99 | 3 |
----------------------------
私は考えることができる唯一のことは、テーブルを結合することです。異なるIDで同じテーブルに2回参加できることを期待していましたが、明らかにうまくいきません。
SELECT categories.name, categories.parent_id FROM products
INNER JOIN product_category ON products.id = product_category.product_id
INNER JOIN categories ON categories.id = product_category.category_id
WHERE products.id = 99
returns:
-----------------------------
| name | parent_id |
-----------------------------
| skateboarding | 2 | <-- need to get name of each parent_id above
-----------------------------
うまくいけば、ちょっと意味が分かりました。