Я столкнулся с проблемой, пытаясь разработать запрос для этой простой базы данных, которую я создал. Он собирает 3 поставщиков, идентифицированных кодом (CODICEFORNITORE), который продает такие продукты, как телефон или зерновые, каждый из которых идентифицируется другим кодом (CODICEPRODOTTO). То, что я пытаюсь сделать, это вернуть количество поставщиков, которые не продают какой-либо продукт Apple. Связь между продуктами и их поставщиком отслеживается благодаря третьей таблице, называемой Каталогом (CATALOGO).
Я подумал, что лучший способ сделать это - EQUI JOIN между таблицей PRODUCT TABLE и CATALOG TABLE, затем попытаться подсчитать количество продуктов Apple, проданных поставщиками, а затем исключить те, чье количество меньше или равно 0 Но я не могу создать такой запрос.
У меня нет проблем с подсчетом, сколько поставщиков продают продукты Apple.
Достигнуть обратного довольно просто (и я уверен, что смогу сделать это даже более простым способом):
SELECT COUNT(CODICEFORNITORE) AS NUMERO_FORNITORI_APPLE --- This the number of apple supplier
FROM CATALOGO C JOIN PRODOTTI P ON C.CODICEPRODOTTO = P.CODICEPRODOTTO
GROUP BY CODICEFORNITORE, MARCA
HAVING Marca = 'Apple';
--- this returns 1 as expected ---
То, что я пытаюсь достичь, должно вернуть '2' на основе следующей таблицы
Заранее спасибо и извините за плохой английский