我有一个评论表[再次:)] ...
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 :(得分:0)
您可能需要查看有关Adjacency List vs. Nested Set Model
的这篇文章答案 1 :(得分: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