【发布时间】:2013-10-21 12:31:15
【问题描述】:
所以我有以下表格:
文章
- article_id
评论
- comment_id
- article_id
我想要做的是搜索所有文章,无论是否有 cmets,并显示文章 id 以及它有多少 cmets。
假设我有两篇文章,只有第一篇有 cmets。我无法查询显示他们俩和他们的 cmets 号码。
编辑 1:
阅读回复后,我提出了以下查询,我就快到了!只有一个问题。当一篇文章没有 cmets 时,我得到 1,而不是得到 0。
SELECT *,COUNT(a.article_id) FROM article as a LEFT JOIN comment as c ON a.article_id = c.article_id GROUP BY a.article_id;
编辑 2:
一个简单的错误。我将“COUNT(a.article_id)”更改为“COUNT(C.article_id)”。太明显了! :) 感谢人们的帮助;)
SELECT *,COUNT(c.article_id) FROM article as a LEFT JOIN comment as c ON a.article_id = c.article_id GROUP BY a.article_id;
【问题讨论】:
-
使用左连接。应该工作。
-
我不知道如何使用 LEFT JOIN :/ 我已经尝试过使用它但我总是遇到一些错误... :(