SQL-запрос для вывода информации из двух зависимых таблиц
Имеется две таблицы: первая - производитель(поля - id, name), вторая - модель(поля - id, model_name, id_производителя). В таблице производитель - 2 строки с именами Ford(id=1) и Skoda(id=2), в таблице модель - три строки
| id | name | id_производителя |
|---|---|---|
| 1 | Focus | 1 |
| 2 | Fiesta | 1 |
| 3 | Kuga | 1 |
Соответственно, получается у производителя 1 - 3 модели, у производителя 2 - 0 моделей. Нужно написать запрос, который подсчитывает количество автомобилей у каждого производителя, запрос должен вывестись примерно так:
| name | count |
|---|---|
| Ford | 3 |
| Skoda | 0 |
Проблема в том, что все запросы которые я пытался писать выводят только первого производителя с количеством 3, но не выводят второго, у которого ноль, либо выводят оба, но при этом у второго подсчитывает количество - 1, но должно быть - 0. Как написать запрос под мои критерии?
Ответы (1 шт):
select a.name,count(b.id) as "count"
from manufacturers as a
left join models as b on a.id=b.id_manufacturer
group by a.name