在我的个人资料网站上,用户可以发表评论,并对评论发表评论(像facebook一样)。我正在实施一些分页,因为在1个配置文件中可能会有数千条评论。分页工作,但是,由于有孩子的评论,一个简单的顶部n查询打破了对话。我只想分析父母的意见,而不是孩子。如何更有效地编写此查询?
表“意见” 其中有:
- commentID
- commentText
- parentCommentID
- commentOnUserID
这里的问题是,我想只有在那些父母的意见进行分页(parentCommentID = 0)。所以我写了一个查询,如:
select * from Comments c
where c.parentCommentID = 0
and c.commentOnUserID = 65939
(我离开了实际的分页查询,因为这是不相关)
,但我也想加载所有这些评论的孩子的,孩子是还有一条评论,但随后与parentCommentID =一些评论ID:
select * from comments c
where c.parentCommentID in (* get the commentId's from the previous query)
and c.commentOnUserID = 65939
有没有办法有效地结合两个在1查询?