tur*_*fer 1 mysql count outer-join
我有两个表,主题和内容,其中内容引用主题与外键.我想显示每个主题在内容表中出现的次数(0,如果没有出现).但是下面的查询只给出了count> 0的行并忽略了其他行:
SELECT Subject.id, Subject.name, COUNT(Content.subject_id) AS `count`
FROM Subject LEFT JOIN Content
ON Subject.id = Content.subject_id
WHERE type = @type
GROUP BY Subject.id;
Run Code Online (Sandbox Code Playgroud)
我检查并试图按照这个,这个和这篇文章但由于某种原因上面的代码不起作用.
有任何想法吗?
编辑:类型字段位于内容表中,导致问题为"Will A"指出
哪个表是type一列?我假设它是内容 - 并且通过在WHERE子句中包含该字段,您强制LEFT JOIN右侧的Content表中包含数据(这意味着LEFT JOIN实际上只是内部加入).
尝试:
SELECT Subject.id, Subject.name, COUNT(Content.subject_id) AS `count`
FROM Subject
LEFT JOIN Content
ON Subject.id = Content.subject_id
AND type = @type
GROUP BY Subject.id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2067 次 |
| 最近记录: |