首先,我想說我已經做了一些研究,但我仍然無法在我的問題上得到明確的答案。請隨時給我鏈接我可能錯過的地方。SQL加入樹狀結果分組
我一直使用包含我網站所有數據的簡單.json
文件(手寫)。這由JQuery解析,然後由它構建整個頁面(請參閱my personnal webpage)。出於許多原因(易於編輯,即使在javascript被阻止時也有工作的網頁),我想構建它的PHP/MySQL版本。
我的問題是將我的.json
文件的樹結構轉換爲單個SQL查詢。
我的數據庫有pages
,articles
和citations
的表格,每個表格都有一個ID以及一對多模型中的外鍵(對那裏的父親)。
Pages
----------------------
Page_ID | Page_Title
----------------------
0 | About
2 | Work
3 | Publication
Articles
------------------------------------
Article_ID | Page_ID | Article_Title
------------------------------------
0 | 0 | About me
1 | 3 | Articles
Citations
-----------------------------------------
Citation_ID | Article_ID | Citation_Title
-----------------------------------------
0 | 3 | My fst quote
1 | 3 | My snd quote
到目前爲止,我已經建立了以下查詢:
SELECT * FROM pages
LEFT OUTER JOIN articles
ON pages.Page_ID = articles.Page_ID
LEFT OUTER JOIN citations
ON articles.Article_ID = citations.Article_ID
ORDER BY pages.Page_Order IS NULL, pages.Page_Order ASC
然而,這讓我越來越具有多個子/大兒子多時間元素。
有更好的方法來表示一棵樹嗎?我試着看着GROUP BY
,但那隻給了我第一個孩子。
您可能想要提供樣本數據和預期結果。 – 2015-02-10 06:18:02
我已經添加了一些例證數據。至於預期的結果,我不知道他們應該如何(這是我的問題的重點) – Amxx 2015-02-10 06:28:05
現在,考慮到這些數據,請解釋爲什麼你的查詢不能滿足你的需求,你想得到什麼代替。 – 2015-02-10 06:34:57