Есть 3 таблицы:
1-Клиенты с полями id(счетчик) и ФИО(текст)
2-Филиалы с полями id(счетчик) и Адрес(текст)
3-Заказы с полями id(счетчик), Клиент(Подстановка) и Филиал(подстановка)
Запрос звучит так:
Получите список клиентов, которые обращались во все филиалы фирмы.
Сперва сделал так:
SELECT ФИО
FROM Клиенты INNER JOIN Заказы
ON Клиенты.id=Заказы.Клиент
GROUP BY ФИО
HAVING Count(Заказы.Филиал)=(SELECT Count(id) FROM Филиалы);
Но потом понял что в одном филиале, клиент может сделать заказов больше чем 1. Попытался убрать из выборки повторяющиеся по полю Филиал записи, так:
SELECT DISTINCT Филиал, ФИО
FROM Клиенты INNER JOIN Заказы
ON Клиенты.id=Заказы.Клиент
GROUP BY ФИО
HAVING Count(Заказы.Филиал)=(SELECT Count(id) FROM Филиалы);
Но получил ошибку: Попытка выполнить запрос, который не включает указанное выражение "Филиал" как часть агрегатной функции.
Нужно либо каким-то другим способом убрать повторяющиеся по полю Филиал записи, либо найти другой способ решения. Есть предложения?