我有一個表,我存儲了一個樹結構。基本上,家庭結構是獲取孩子類的家庭樹
Category > Sub category > sub sub category
父這裏是一個與0 PARENT_ID我需要通過SQL獲得任何類別的家庭結構。表看起來像
cat_id | parent_id | name
-------------------------
1 | 0 | a
2 | 0 | b
3 | 1 | c
4 | 2 | d
5 | 3 | e
6 | 4 | f
因此對於4 CAT_ID,該結果我需要的是
c1.cat_id | c.name | c2.cat_id | c2.name | c3.cat_id | c3.name
2 b 4 d null null
因此對於6 CAT_ID中,結果我需要的是
c1.cat_id | c.name | c2.cat_id | c2.name | c3.cat_id | c3.name
2 b 4 d 6 f
這是我目前使用的代碼,它給出了每個結果不止一行
SELECT c1.name cat1, c1.cat_id cat1_id,c2.name cat2, c2.cat_id cat2_id ,c3.name cat3, c3.cat_id cat3_id
FROM ea_category AS c1
JOIN ea_category AS c2 ON (c2.parent_id = c1.cat_id)
JOIN ea_category AS c3 ON (c3.parent_id = 0)
where c1.cat_id = 4
我在做什麼錯
它給每個結果兩行以上,因爲有兩隻貓parent_id = 0',所以你最後一個'join'加入到他們兩個 –
是的,我知道,但我只想要大孩子的父母 – Smith