MySQL JOIN с тем, где предложение и группа по счету

Я запускаю следующий запрос,

SELECT status.status_id, status.status_name, COUNT(workbin.status_id) FROM `status` LEFT JOIN `workbin` ON workbin.status_id = status.status_id GROUP BY status.status_id 

и получил выход

 status_id status_name count 1 New 44 2 On Hold 1 3 In Analysis 2 4 In Development 12 5 In Testing 17 6 In Release 2 7 Completed 151 8 In Review 0 9 Unit Testing 0 11 Rework 0 12 Reopen 0 

Теперь мне нужно добавить предложение where в этом запросе, чтобы получить данные на основе идентификатора пользователя в таблице workbin таблиц. Таким образом, результат покажет только счетчик для пользователя. Идентификатор пользователя также сохраняется в таблице workbin таблиц.

Если я добавлю рабочую таблицу where where where WHERE . task_assigned_id = 37 и найдено несколько идентификаторов status_id и status_name (которые имеют значение 0). Но мне нужны все подсчеты статуса для назначенного пользователю задачи (workbin.task_assigned_id).

Related of "MySQL JOIN с тем, где предложение и группа по счету"

Это связано с тем, что по WHERE вы указываете, что в таблице workbin указываются только записи, которые имеют значение task_assigned_id = 37 . Таким образом, вы не можете получить строки, для которых у вас нет строки в таблице workbin (даже если она находится в таблице status .) Решение может быть примерно таким, чтобы сохранить условия вашего WHERE в части LEFT JOIN :

 SELECT status.status_id, status.status_name, COUNT(workbin.status_id) FROM `status` LEFT JOIN `workbin` ON workbin.status_id = status.status_id AND workbin.task_assigned_id= 37 GROUP BY status.status_id