0

ユーザーが投稿したメディアに対して、コメントを作成したり、コメントに返信したりしようとしています。私のコメントテーブルは次のように構成されています:

commentId : parentCommentId : mediaId : userId : comment

最新の 10 個の元のコメントとその返信を mediaId に選択したいと考えています。

これを行うために、2 つの SQL ステートメントを実行しています。

SELECT commentId FROM comments
WHERE mediaId='3' AND parentCommentId='0'
LIMIT 10;

(これにより、最新の元の 10 件の投稿の commentId が取得されます。次に、これらの commentId を以下で使用します)...

SELECT c.*,u.* FROM comments AS c
JOIN users AS u on u.userId=c.userId 
WHERE parentCommentId IN --( *****commentIds from previous query***** );

これを行うより良い方法はありますか?おそらくJOIN

4

2 に答える 2

1

このようにするとどうなりますか:

    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;
于 2012-12-27T08:37:02.913 に答える