私は少し慣れていないので、1つのテーブルをクエリして、 「正しい」テーブルでのみ使用JOIN
する方法を理解するのが難しいと感じています。基本的に、2 つのテーブルを個別にクエリする場合は、次のクエリを使用します。ORDER BY
LIMIT
ORDER BY
JOINED
SELECT * FROM posts ORDER BY dateSubmitted DESC LIMIT ?,5
'?' bind_param()
ページネーションを作成しているため、私の略です。次に、「右」の 2 番目のテーブルについて説明します。
SELECT * FROM postcomments WHERE postcomments.postID = posts.ID ORDER BY dateSubmitted DESC
私の理解では、2 つのテーブルを一緒に「リンク」してLEFT JOIN
、「左」のテーブル (投稿) からすべてのデータを受け取るように使用したいと考えています。
SELECT * FROM posts LEFT JOIN postcomments ON postcomments.postID = posts.ID
今、私はこれを行うことができますが、私ORDER BY
とLIMIT
両方のテーブル以外の場所がわかりませんか? 私はいくつかの異なる方法を見てきましたが、これが私がこれを見たように混乱していると思います:
SELECT p.* FROM posts p ORDER BY posts.dateSubmitted DESC LIMIT ?,5
LEFT JOIN (SELECT * FROM postcomments
WHERE postscomments.postID = p.ID ORDER BY postcomments.dateSubmitted);
しかし、クエリを構成する方法が本当にわかりません:Sどんな助けにも感謝します:)