Bonjour à tous
Je cherche à me remettre au SQL, et j'ai déjà quelques soucis.
Je possède une unique table (pour simplifier), contenant 2 colonnes : une liste d'identifiants de recettes, et une liste d'identifiants d'ingrédients. Cette base représente la liste des ingrédients nécessaires pour l'exécution d'une recette.
Je cherche à trouver les recettes comprenant UNIQUEMENT une liste d'ingrédients.
Mes petites pistes sont :
- Obtenir la liste des recettes contenant au moins un ingrédient :
- Obtenir la liste des recettes possédants 3 ingrédients :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT recette FROM rec_ingr WHERE (ingr = 1) OR (ingr = 2) OR (ingr = 3) GROUP BY recette
- Obtenir la liste des recettes possédant au moins ces 3 ingrédients :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT recette, COUNT(ingr) FROM rec_ingr GROUP BY recette HAVING COUNT(ingr) = 3
... Je me doute bien qu'il doit y avoir une jointure à faire, mais je ne trouve pas comment faire !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT recette FROM rec_ingr WHERE (ingr = 1) OR (ingr = 2) OR (ingr = 3) GROUP BY recette HAVING COUNT(ingr) = 3
Merci de m'éclairer...
Pierre
Partager