Найдите всех клиентов, которые вели дела со всеми тремя компаниями - PullRequest
0 голосов
/ 05 мая 2020

У меня есть таблица транзакций, в которой указаны имена клиентов и компания, с которой они работали. Есть три разные компании, с которыми клиенты могли вести дела: A, B, C. Как мне запросить только тех клиентов, которые ранее вели дела со всеми тремя клиентами?

Образец таблицы

Запрос, который вернет только Джека.

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Если записи уникальны по имени клиента / компании, вы можете использовать ответ @ GordonLinoff, в противном случае убедитесь, что они уникальны, с помощью подзапроса:

select [Customer Name]
from (select distinct [Customer Name], Company
      from t
      where Company in ("A", "B", "C")) x
group by [Customer Name]
having count(*) = 3;
1 голос
/ 05 мая 2020

Вы можете использовать group by и having:

select [Customer Name]
from t
where Company in ("A", "B", "C")
group by [Customer Name]
having count(*) = 3;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...