MySQL을 사용하고 있습니다. 내 스키마는 다음과 같습니다.
공급자 ( sid : 정수 , 이름 : 문자열, 주소 문자열)
부품 ( pid : 정수 , pname : 문자열, 색상 : 문자열)
카탈로그 ( 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-그룹 기능의 유효하지 않은 사용
내가 뭘 잘못하고 있죠?