MySQL: неверное использование групповой функции
Я использую MySQL. Вот моя схема:
Поставщики (sid: целое число, sname: строка, адресная строка)
Части (pid: целое число, имя: строка, цвет: строка)
Каталог(sid: целое число, pid: целое число, стоимость: реальная)
(первичные ключи выделены жирным шрифтом)
Я пытаюсь написать запрос, чтобы выбрать все детали, которые сделаны как минимум двумя поставщиками:
-- Find the pids of parts supplied by at least two different suppliers.
SELECT c1.pid -- select the pid
FROM Catalog AS c1 -- from the Catalog table
WHERE c1.pid IN ( -- where that pid is in the set:
SELECT c2.pid -- of pids
FROM Catalog AS c2 -- from catalog
WHERE c2.pid = c1.pid AND COUNT(c2.sid) >= 2 -- where there are at least two corresponding sids
);
Во-первых, я даже иду по этому пути правильно?
Во-вторых, я получаю эту ошибку:
1111 - Неправильное использование групповой функции
Что я делаю неправильно?