इसे आजमाएं:
SELECT OrderID
FROM OrderDetailTable JOIN OrderedTable USING (ItemID)
GROUP BY OrderID
HAVING COUNT(DISTINCT ItemID) = (SELECT COUNT(DISTINCT ItemID) FROM OrderedTable)
विचार, संक्षेप में, इस प्रकार है:
- गणना करें कि कितनी ऑर्डरडिटेलटेबल पंक्तियां आइटम आईडी द्वारा ऑर्डर की गई तालिका से मेल खाती हैं,
- और फिर उसकी तुलना OrderedTable से ItemID की कुल संख्या से करें।
यदि ये दो नंबर बराबर हैं, तो दिए गए ऑर्डर आईडी में सभी आइटम आईडी "शामिल हैं"। यदि एक दूसरे से छोटा है, तो कम से कम एक ItemID है जो दिए गए OrderID में शामिल नहीं है।
आपकी प्राथमिक कुंजियों के आधार पर, DISTINCT
आवश्यक नहीं हो सकता है (हालांकि यह चोट नहीं पहुंचाता है)।