Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

संभवतः IN और NOT IN का उपयोग करके अलग-अलग आईडी खोजने के लिए SQL-क्वेरी की आवश्यकता है

Select Distinct ...
From Recipes As R
Where R.ingredient in(ingredient_a, ingredient_b...)
    And Not Exists(
                    Select 1
                    From Recipes As R2
                    Where R2.Recipe = R.Recipe
                        And R2.Ingredient In(ingredient_d)
                    )

जैसा कि जेफरी एल व्हिटलेज ने उल्लेख किया है, उपरोक्त क्वेरी कोई भी नुस्खा लौटाएगी जिसमें कम से कम एक है वांछित सूची में घटक और अवांछित सूची में कोई नहीं। हालांकि, अगर आप उन व्यंजनों को वापस करना चाहते हैं जिनमें सभी . शामिल हैं वांछित सूची में सामग्री और अवांछित सूची में कोई भी नहीं जो आप कर सकते हैं:

Select Distinct ...
From Recipes As R
Where Exists    (
                Select 1
                From Recipes As R2
                Where R2.Recipe = R.Recipe
                    And R2.ingredient in(ingredient_a, ingredient_b...)
                Having Count(*) = @CountOfPassedIngredients
                )
    And Not Exists(
                    Select 1
                    From Recipes As R2
                    Where R2.Recipe = R.Recipe
                        And R2.Ingredient In(ingredient_d)
                    )

इस परिदृश्य में, आपको पहले वांछित अवयवों की संख्या निर्धारित करनी होगी।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सी # का उपयोग कर MySQL के लिए डेटटाइम कनवर्ट करें

  2. मेरे विशेष मामले के लिए MySQL डेटाबेस को कुशलतापूर्वक कैसे डिज़ाइन करें

  3. codeigniter IS NULL को find_in_set में जोड़ रहा है

  4. इको MYSQL परिणाम प्रदर्शन खाली पृष्ठ

  5. MySQL - ब्रेक को छोड़कर दो दिनांक-समय के बीच शुद्ध समय अंतर की गणना करें?