我有两张表帖子和评论
发布表
Post_id
Post_content
评论表
comment_id
Comment
post_id
created_date
一个帖子可以有多个评论或零评论
我的要求是使用左外连接获取帖子的最新评论。
我的意思是结果应该是以下列的帖子的一条记录。
post_id,post_content ,comment_id,comment
简单来说,如果帖子存在,帖子应该与他们的最新评论相处。
(目前系统首先获取帖子,然后再次访问服务器以显示最新评论,想到一次性获取它们,因为我们最初只显示一条评论...不确定应该是什么如果想要显示多条评论,最好的方法..?)
谢谢
此致
基兰
答案 0 :(得分:7)
SELECT Post.post_id, post_content, comment_id, comment
FROM
Post LEFT JOIN Comments
ON Post.post_id = Comments.post_id
AND created_date = (
SELECT MAX(created_date)
FROM Comments
WHERE Post.post_id = Comments.post_id
)
BTW,你应该考虑索引Comments {post_id, created_date}
以获得最佳性能,但要注意使用InnoDB时的非主键索引开销(参见this article中的“群集的缺点”部分) )。