我有点陌生JOIN
,我发现很难理解如何使用和查询一张表,ORDER BY
并且LIMIT
只ORDER BY
在我JOINED
认为的“正确”表上使用?所以基本上,如果我要单独查询这两个表,我会使用这些查询:
SELECT * FROM posts ORDER BY dateSubmitted DESC LIMIT ?,5
“?” 代表我bind_param()
,因为我正在创建一个分页。现在对于我的“正确”第二张桌子:
SELECT * FROM postcomments WHERE postcomments.postID = posts.ID ORDER BY dateSubmitted DESC
据我的理解,我想将两个表“链接”在一起,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任何帮助表示赞赏:)