このデータ構造モデルを使用するカテゴリにテーブルがあります。また、カテゴリのブランチのパスを示す別のテーブルを使用します。
**t_category**
id | name | parent
------------------
1   mascot   null
2   cat      1
3   dog      1
4   doberman 3
**t_category_path**
id | path
------------------
1   /1/
2   /1/2/
3   /1/3/
4   /1/3/4/
私が欲しいのは、任意のアイテムの親のリストを取得することです。たとえば、「dog」を検索すると「dog、mascot」が表示され、「doberman」を検索すると「doberman、dog、mascot」が表示されます。
私はこれを試しました...しかしそれは逆です、私は両親が葉を手に入れるのを探すことを意味します:
SELECT
    c2.id,
    c2.name,
    p.path
FROM t_category c, t_category c2, t_category_path p, t_category_path p2
WHERE c.id = 1
AND p2.id = c.id
AND p.path LIKE(CONCAT(p2.path,'%'))
AND c2.id = p.id
ORDER BY p.path ASC;
そして明らかに得る:
id | name | path
------------------
1   mascot   /1/
2   cat      /1/2/
3   dog      /1/3/
4   doberman /1/3/4/
しかし、私は「ドーベルマン」から入手したい:
id | name | path
------------------
1   mascot   /1/
3   dog      /1/3/
4   doberman /1/3/4/
葉っぱから相談することはできますか?