2012-02-20 27 views
0

我有一個意見表[再次:)] ...遞歸MySQL查詢得到父/子導致

COMMENT_ID comment_parent_id

E.G.如果有comment1(comment_id = 1)和comment2(comment_id = 2)都有comment_parent_id = 0,但是如果有人回覆(增加評論)給comment_id = 1,這意味着這將是comment3(comment_id = 3,但comment_parent_id = 1)。

現在要獲取並顯示所有註釋和子註釋,我必須使用第二個查詢來檢查它是否有子註釋,但我想用一個查詢來代替遞歸函數來執行它,服務器是否有100-200的意見和他們有1-2次的意見..

如何才能做到這一點.. 感謝您的時間..

問候

回答

0

表結構

帖子

id 
post_id 
user_id 

評論

id 
post_id 
comment_id 
user_id 
deleted 

回覆

id 
post_id 
reply_id 
user_id 
deleted 

SELECT * 
FROM posts p 
LEFT JOIN comments c ON c.post_id = p.post_id AND NOT c.deleted 
LEFT JOIN replies r ON r.post_id = p.post_id AND NOT r.deleted 
WHERE p.user_id = $user_id 
+0

感謝納文,但是我的結構如下圖所示: - 文章.. 的article_id - 評論.. COMMENT_ID comment_parent_id 的article_id 現在我取的意見表上的article_id發佈的所有意見,但如果有是parent_id = 0的2條評論和parent_id = 1的1條評論,這意味着comment1有一個回覆(sub-comment)作爲子評論,我想列出所有評論,包括他們下面的子評論。 謝謝爲你的時間.. 問候 – Max 2012-02-20 15:50:21