2011-06-28 30 views
1

我有一個名爲'posts'的表。它是這樣的結構:帶父母的MySQL集合行

post_id, post_content, post_parent 

後父母是一個int用於表示一個職位是否是父母。如果它等於0,那麼它是父親。如果它不等於0,則post_parent是相對於父職位的post_id。

我想辦法,我可以選擇在MySQL中的職位,這樣是衡量崗位和命令他們根據他們的父母。

的結果應該是這樣的:

  • 後家長
  • 後家長
    • 相對於上述家長郵政POST_ID
    • 相對於一個post_parent兒童帖子一post_parent兒童帖子上述家長郵政POST_ID
  • 後父

預先感謝您!

回答

3

我不知道桌子是什麼樣子,所以我一直在做這件事。

SELECT * from tableName ORDER BY parentID ASC, ChildID ASC 

這應該讓你們的父母與他們的孩子:

SELECT parent.ID, children.ID 
FROM tableName parent 
LEFT JOIN 
     tableName children ON parent.post_id = children.post_parent 
ORDER BY parent.post_id 
+0

結構是: POST_ID,POST_CONTENT,post_parent,我想試試 –

+0

@SeanFisher看到我更新 – Neal

+0

@ SeanFisher查看我對子查詢的更新 – Neal