MySQL左连接计数不显示左表中的所有条目

时间:2018-05-24 20:36:19

标签: mysql left-join

我有两个表格(-0x1) vcases(id,statusCategoryID,userID)

我正在尝试显示一个信息中心,用户可以在每个类别下查看提交的案例数量。

我尝试了左连接,但我没有获得特定用户的所有类别名称。

这就是我正在做的事情:

vstatuses(id,category)

我想像这样显示

SELECT vs.name as `catName`
      , COUNT(vs.name) as `count` 
  FROM vstatuses vs 
  LEFT 
  JOIN vcases v 
    ON vs.id = v.statusCategoryID 
 WHERE v.userID = 2 
 GROUP 
    BY vs.names 
 ORDER
    BY vs.id

但我得到了这个

+----------------------------------------+
| Category | Submitted | Opened | Solved |
| Count    |    3      |   1    |   0    |
+----------------------------------------+

即使类别下没有任何案例,我也希望包含+-------------------------------+ | Category | Submitted | Opened | | Count | 3 | 1 | +-------------------------------+

1 个答案:

答案 0 :(得分:0)

过滤器应该带有ON子句

 LEFT JOIN vcases v ON vs.id=v.statusCategory AND v.userID = 2

否则就好像是INNER JOIN