mysql - SQL Query With & Without -


मेरे पास निम्न तालिका हैं:

तालिका: नुस्खा

फ़ील्ड: recipe_ID , शीर्षक


तालिका: नुस्खा_आधारीदार

फ़ील्ड: recipe_ID , ingredient_ID


मैं केवल ऐसे व्यंजनों को दिखाना चाहूंगा जिसमें कुछ खास सामग्री होती है (मैं उस भाग को प्रबंधित करता हूं), लेकिन मैं भी कुछ सामग्रियों वाले बहिष्कृत व्यंजनों को करना चाहता हूं।

अब तक मैं यह क्वेरी करने में कामयाब रहा हूं, यह काम कर रहा है, लेकिन यह केवल व्यंजनों को दर्शाता है जिसमें कुछ खास सामग्री शामिल है।

  चुनें DISTINCT r.recipe_ID, r.title से recipe r जोन नुस्खा_एंगेरियंट री पर (ri.recipe_ID = r.recipe_ID) जहां री। इनेडियेंट_आईडी IN (4, 7) ग्रुप द्वारा आर.रेपी_आईआईडी होगिंग COUNT (Ri.ingredient_ID) = 2  

मैं इसे निश्चित सामग्रियों के साथ व्यंजनों को बाहर करने के लिए कैसे बनाऊं?

नोट: 4, 7 और गणना मान प्रदर्शन प्रयोजनों के लिए स्थिर हैं।

कृपया पूछें कि आपको अधिक जानकारी या कुछ भी आवश्यकता है।

बहुत बहुत धन्यवाद!

आप एक उप क्वेरी का उपयोग कर सकते हैं जो कि Recipe_ID जिसमें वे सामग्री शामिल हैं जिन्हें आप नहीं चाहते हैं और फिर उन कूटशब्द को बाहर करें, जो कि मुख्य प्रश्न में recipe_ID से बाहर हैं:

  SELECT R.recipe_ID, r.title से recipe r जोन नुस्खा_एंगेरियंट री ऑन री। रीसिपी_आईडी = आर। रीस्पीप_आईडी जहां री। एन्डेरिएन्ट_आईडी इन (4, 7) और आर। रीसिपी_आईडी नहीं है (चयन करें rs.recipe_ID से नुस्खा rs शामिल हों) .recipe_ID = rs.recipe_ID जहां ris.ingredient_ID IN (8, 2)) ग्रुप द्वारा आर। रीसिपी_आईडिंग हो रही है COUNT (री.इन्डेरिएन्ट_आईडी) = 2  

Comments