Oracle SQL - Как выбрать таблицы с 0 или более значений из других таблиц - PullRequest
0 голосов
/ 09 ноября 2018

Итак, мне нужно получить консультацию, которая показывает идентификатор города, название и количество клиентов в этом городе, включая города с 0 клиентами;

Сначала я пытался получить города, в которых есть клиенты, но у которых нет представления о том, как включить города, в которых нет клиентов.

У меня есть таблица: CITIES, которая содержит ID_city, NAME и REGION и таблица: КЛИЕНТЫ, которые содержат ID_client, NAME и ID_city

запрос:

select l.name, l.ID_city, count(c.name) from clients c
JOIN cities l on l.ID_city = c.ID_city
GROUP BY l.name, l.ID_city;

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Используйте левое соединение, но убедитесь, какой стол вы рассматриваете первым. Код ниже должен решить проблему:

select C1.name, C1.ID_city, count(C2.name) from cities C1
LEFT JOIN clients C2 on C1.ID_city = C2.ID_city
GROUP BY C1.name, C1.ID_city;
0 голосов
/ 09 ноября 2018

использование left join

select l.nomecidade, l.codcidade, count(c.nomecliente) from prova.clientes c
left  JOIN prova.cidades l on l.codcidade = c.codcidade
GROUP BY l.nomecidade, l.codcidade
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...