मैं MySQL का उपयोग कर रहा हूं। यहाँ मेरा स्कीमा है:
आपूर्तिकर्ता ( साइड : पूर्णांक , sname: स्ट्रिंग, पता स्ट्रिंग)
भागों ( pid: पूर्णांक , pname: स्ट्रिंग, रंग: स्ट्रिंग)
कैटलॉग ( किनारा: पूर्णांक, पीआईडी: पूर्णांक , लागत: वास्तविक)
(प्राथमिक कुंजी बोल्ड कर रहे हैं)
मैं उन सभी भागों का चयन करने के लिए एक प्रश्न लिखने की कोशिश कर रहा हूं जो कम से कम दो आपूर्तिकर्ताओं द्वारा किए गए हैं:
-- 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 - समूह फ़ंक्शन का अमान्य उपयोग
मैं क्या गलत कर रहा हूं?