MySQL левый счетчик соединений не показывает все записи из левой таблицы - PullRequest
0 голосов
/ 24 мая 2018

У меня есть две таблицы : 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    |
+-------------------------------+

Я хочу включить categoryName, даже если в этой категории .

нет ни одного случая.

1 Ответ

0 голосов
/ 24 мая 2018

Фильтр должен быть с предложением ON

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

В противном случае он выглядит как INNER JOIN

...