3

DB から結果を取得しようとしていますが、結果を右側に制限します

SELECT posts.text, comments.text 
FROM posts 
LEFT JOIN comments ON comments.postid= post.id 
Limit 0,5 

上記は、コメントが 5 つある場合、最初の投稿の 5 つのコメントを返します。ただし、すべてのコメントを返したいのですが、5 件の投稿後にクエリを停止します。どうすればいいですか?


申し訳ありませんが、LEFT JOINを間違って書いたので、私の質問は最初は少し不明確でした..

これは私の問題の解決策です:

SELECT posts.text, comments.text 
FROM ( SELECT * FROM posts Limit 0,5 ) 
LEFT JOIN comments ON comments.postid= post.id 

もう1つの質問。選択列として posts.text のみを指定しましたが、サブクエリに「*」が含まれているため、すべての列が返されますか?

4

1 に答える 1

7

それが必要な場合は、サブクエリを使用して 5 つの親のみを取得してください。

SELECT  p.text PostText,
        c.text CommentText
FROM
        (
            SELECT  id, text
            FROM    posts
            LIMIT   5
        ) p
        LEFT JOIN comments c
            ON c.postId  = p.id;
于 2013-03-06T08:29:12.090 に答える