2013-08-05 140 views
1

我正在嘗試構建一個非常簡單的CMS。爲此,我創建了一個名爲categories的表。顧名思義,這將是CMS中我的文章的類別。選擇引用同一表中其他元素的元素

我的表看起來與樣本數據如下:
table with sample data

正如你所看到的,一類節點都有一個父節點。現在,如何編寫一個查詢來選擇特定節點的所有父節點。例子,如果讓我選擇,節點重要,我怎麼能編寫一個查詢將返回我下面的節點:新聞,用戶,一般

我希望我很清楚

+1

看一看:** http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/** –

+0

@ PM77-1感謝您將我鏈接到! – Krimson

回答

3

我可以「T說,我真的很喜歡這種方法,但下面出現在MySQL的:

select t.id, t.parent, @parent := parent 
from (select @parent := 7) const join 
    t 
    on t.id = @parent; 

你可以看到它在這個SQL Fiddle

我不認爲這是保證工作,但它似乎工作在實踐中。如果您需要存儲分層數據,則應該真正更改數據結構或切換到支持遞歸查詢(例如Postgres,SQL Server和Oracle)的數據庫。

+0

啊,它似乎工作! +1用於調用遞歸查詢並將其描述爲分層數據,因爲在命名問題時我不知道該怎麼稱呼它:P – Krimson

相關問題