Faire une liste des valeurs communes entre 2 attributs
Résolu/Fermé
A voir également:
- Faire une liste des valeurs communes entre 2 attributs
- Liste déroulante excel - Guide
- 2 comptes whatsapp - Guide
- 2 ecran pc - Guide
- Trouver numéro liste rouge gratuitement ✓ - Forum Mobile
- Liste de diffusion whatsapp - Guide
1 réponse
jordane45
Messages postés
37854
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 décembre 2023
4 611
Modifié le 20 déc. 2017 à 01:26
Modifié le 20 déc. 2017 à 01:26
Bonjour,
Déjà... tu pourrais poster l'image DIRECTEMENT sur le forum au lieu d'en mettre un lieu qui pourrait être supprimé...
Donc voici l'image en question :

Puis, pour poster du code sur le forum... il faut utiliser LES BALISES DE CODE
Explications ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Ensuite... la structure de tes tables voir même un DUMP avec quelques données seraient les bienvenus.....
Et enfin
dans un IN tu mets DES éléments séparés par des virgules ... tu n'y mets pas de condition... que vient faire le "=" ici ???
A la limite, ce que tu cherches c'est
Mais si ce sont les ingrédients communs que tu cherches... la "bonne" requête serait plutôt du genre
Ou sinon, en utilisant du GROUP BY et un HAVING COUNT >1
Un truc du genre
NB: J'ai écrit les requêtes de têtes sans tester... si elles ne marchent pas.. il faudra les adapter...
Mais bon.. sans avoir ta structure ni de dump... difficile de t'en dire plus
Cordialement,
Jordane
Déjà... tu pourrais poster l'image DIRECTEMENT sur le forum au lieu d'en mettre un lieu qui pourrait être supprimé...
Donc voici l'image en question :

Puis, pour poster du code sur le forum... il faut utiliser LES BALISES DE CODE
Explications ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Ensuite... la structure de tes tables voir même un DUMP avec quelques données seraient les bienvenus.....
Et enfin
dans un IN tu mets DES éléments séparés par des virgules ... tu n'y mets pas de condition... que vient faire le "=" ici ???
A la limite, ce que tu cherches c'est
WHERE r.NomIngredients IN ( 'Cake à la tomate' , 'Cake aux noix et au roquefort');
Mais si ce sont les ingrédients communs que tu cherches... la "bonne" requête serait plutôt du genre
SELECT i.NomIngredient AS 'Ingredients communs' FROM PI101_COMPOSITIONS c LEFT JOIN PI101_INGREDIENTS i ON i.IdIngredient = c.IdIngredient LEFT JOIN PI101_RECETTES r ON r.IdRecette = c.IdRecette WHERE c.NomRecette = 'Cake à la tomate' AND i.IdIngredient IN ( SELECT i2.NomIngredient FROM PI101_COMPOSITIONS c2 LEFT JOIN PI101_INGREDIENTS i2 ON i2.IdIngredient = c2.IdIngredient LEFT JOIN PI101_RECETTES r2 ON r2.IdRecette = c2.IdRecette WHERE c2.NomRecette = 'Cake aux noix et au roquefort' )
Ou sinon, en utilisant du GROUP BY et un HAVING COUNT >1
Un truc du genre
SELECT i.NomIngredient AS 'Ingredients communs' FROM PI101_INGREDIENTS i JOIN PI101_COMPOSITIONS c USING (IdIngredient) JOIN PI101_RECETTES r (IdRecette) WHERE r.NomRecette IN ( 'Cake à la tomate' , 'Cake aux noix et au roquefort') GROUP BY i.NomIngredient HAVING COUNT(i.NomIngredient) >1
NB: J'ai écrit les requêtes de têtes sans tester... si elles ne marchent pas.. il faudra les adapter...
Mais bon.. sans avoir ta structure ni de dump... difficile de t'en dire plus
Cordialement,
Jordane
Modifié le 20 déc. 2017 à 16:57
Sinon ta deuxième requête a marché après quelques modif donc je te remercie.