MySQLを使用しています。これが私のスキーマです:
サプライヤー(sid:整数、sname:文字列、アドレス文字列)
Parts(pid:整数、pname:文字列、color:文字列)
Catalog(sid:integer、pid:integer、cost:real)
(主キーは太字です)
私は、少なくとも2つのサプライヤーによって製造されたすべての部品を選択するクエリを作成しようとしています。
-- 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-グループ関数の無効な使用
何が悪いのですか?