在我的個人資料網站上,用戶可以發表評論,並對評論發表評論(像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查詢?