2012-01-25 51 views
0

我有一個表,看起來像:我可以只用一個查詢輸出這個類別表(id和parent_id)嗎?

enter image description here

我想要做的就是輸出的主要類別(那些空CATEGORY_ID),並在每一個,列出有CATEGORY_ID作爲父類別。這樣,我創建了一個小小的層次結構輸出。

我可以簡單地通過執行一個查詢來捕獲所有類爲空的父類。然後執行另一個查詢,查找其父類別的類別。但是,我相信只有一個查詢就可以在PHP/MySQL中執行此操作。

任何幫助,即使在概念上,將不勝感激!

+0

有沒有深度只有一級可能嗎? – piotrm

+0

是的,只有一個層次的深度。我不認爲它會更深入。 –

回答

1
SELECT COALESCE(c2.category_order, c1.category_order) as top_order, 
      c1.* 
FROM categories c1 
LEFT JOIN categories c2 
ON c1.parent_category_id = c2.category_id 
ORDER BY top_order, c1.category_order 
相關問題