[英]How to get comments and replies?
我正在嘗試對用戶發布的媒體發表評論並回復評論。 我的評論表的結構如下:
commentId : parentCommentId : mediaId : userId : comment
我想選擇最近的10條原始評論及其對mediaId的回復。
為此,我運行2條sql語句。
SELECT commentId FROM comments
WHERE mediaId='3' AND parentCommentId='0'
LIMIT 10;
(這將獲取最新的原始10條帖子的commentIds。然后在下面使用這些commentIds)...
SELECT c.*,u.* FROM comments AS c
JOIN users AS u on u.userId=c.userId
WHERE parentCommentId IN --( *****commentIds from previous query***** );
有一個更好的方法嗎? 使用JOIN
?
如果您采用這種方式怎么辦:
SELECT c.*,u.* FROM comments c
JOIN users u on u.userId=c.userId
JOIN comments p_c on p_c.commentId = c.parentCommentId
WHERE p_c.mediaId='3' AND p_c.parentCommentId='0'
LIMIT 10;
這對您的問題很有用
SELECT c.*,u.* FROM comments AS c
INNER JOIN users AS u on u.userId=c.userId
INNER JOIN comments pc on pc.commentId = c.CommentId
WHERE pc.mediaId='3' AND pc.parentCommentId='0'
LIMIT 10;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.