Tôi đang sử dụng MySQL. Đây là giản đồ của tôi:
Nhà cung cấp ( sid: số nguyên , sname: chuỗi, chuỗi địa chỉ)
Các phần ( pid: integer , pname: string, color: string)
Danh mục ( sid: số nguyên, pid: số nguyên , chi phí: thực)
(các khóa chính được in đậm)
Tôi đang cố gắng viết một truy vấn để chọn tất cả các bộ phận được làm bởi ít nhất hai nhà cung cấp:
-- 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
);
Trước hết, tôi thậm chí đang đi về điều này một cách đúng đắn?
Thứ hai, tôi gặp lỗi này:
1111 - Sử dụng chức năng nhóm không hợp lệ
Tôi đang làm gì sai?