Probleme redaction requete SQL
Résolu
Sissou1970
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
Sissou1970 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Sissou1970 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un utilisateur débutant d'une base de donnée sous SQL. Je suis en train d'essayer d'apprendre à rédiger des requêtes et je rencontre un problème.
J'ai 2 tables :
- T1 qui contient 2 colonnes, une RECETTE et une INGREDIENT (chaque recette et chaque ingredient sont definis par un numero)
- T2 qui contient 2 colonnes, une NUMERO et une LIBELLE (les numeros sont les même que ceux de la table 1)
Je cherche à associer ces 2 tables pour avoir sous forme de libelle le Nom de la recette et ses ingredients.
SELECT T1.Recette, T2.Libelle AS Recette, T1.Ingredient, T2.Libelle AS Ingredient
FROM T1, T2
WHERE T1.Recette = T2.Numero
AND T1.Ingredient = T2.Numero
Bien entendu, je n'obtiens aucune information. Je comprends que ma requête manque de clareté, mais je n'arrive pas à m'en sortir.
Je vous remercie par avance de votre aide
Je suis un utilisateur débutant d'une base de donnée sous SQL. Je suis en train d'essayer d'apprendre à rédiger des requêtes et je rencontre un problème.
J'ai 2 tables :
- T1 qui contient 2 colonnes, une RECETTE et une INGREDIENT (chaque recette et chaque ingredient sont definis par un numero)
- T2 qui contient 2 colonnes, une NUMERO et une LIBELLE (les numeros sont les même que ceux de la table 1)
Je cherche à associer ces 2 tables pour avoir sous forme de libelle le Nom de la recette et ses ingredients.
SELECT T1.Recette, T2.Libelle AS Recette, T1.Ingredient, T2.Libelle AS Ingredient
FROM T1, T2
WHERE T1.Recette = T2.Numero
AND T1.Ingredient = T2.Numero
Bien entendu, je n'obtiens aucune information. Je comprends que ma requête manque de clareté, mais je n'arrive pas à m'en sortir.
Je vous remercie par avance de votre aide
A voir également:
- Probleme redaction requete SQL
- Aide a la redaction - Guide
- Logiciel sql - Télécharger - Bases de données
- Blob sql ✓ - Forum Webmastering
- Sql (+) - Forum Programmation
- Facture en cours de rédaction - Forum compta / gestion
5 réponses
Bonjour,
Comme il faut récupérer 2 libelles dans la table T2, j'utiliserais 2 fois la table dans la requête :
SELECT T1.Recette, T2R.Libelle AS LRecette,
T1.Ingredient, T2I.Libelle AS LIngredient
FROM T1, T2 T2R, T2 T2I
WHERE T1.Recette = T2R.Numero
AND T1.Ingredient = T2I.Numero
cdlt
Comme il faut récupérer 2 libelles dans la table T2, j'utiliserais 2 fois la table dans la requête :
SELECT T1.Recette, T2R.Libelle AS LRecette,
T1.Ingredient, T2I.Libelle AS LIngredient
FROM T1, T2 T2R, T2 T2I
WHERE T1.Recette = T2R.Numero
AND T1.Ingredient = T2I.Numero
cdlt
Bonjour
Il faut faire 2 jointures distinctes :
Mais il faudrait surtout ne pas mélanger dans la même table des choses différentes : tu devrais avoir 2 tables distinctes pour les libellés des ingrédients et des recettes.
Il faut faire 2 jointures distinctes :
SELECT T2.Libelle as recette, t3.Libelle as ingredient from T1 JOIN T2 on T1.RECETTE=T2.Numero JOIN T2 as t3 on T1.INGREDIENT=t3.Numero ORDER BY recette, ingredient
Mais il faudrait surtout ne pas mélanger dans la même table des choses différentes : tu devrais avoir 2 tables distinctes pour les libellés des ingrédients et des recettes.
Salut,
La requête est bonne, c'est juste que bien entendu tu ne peux pas avoir ces deux conditions réunies :
Il faudrait essayer de remplacer le AND par OR ;)
Et au mieux :
-------------------
Cordialement,
Clément
La requête est bonne, c'est juste que bien entendu tu ne peux pas avoir ces deux conditions réunies :
WHERE T1.Recette = T2.Numero AND T1.Ingredient = T2.Numero
Il faudrait essayer de remplacer le AND par OR ;)
Et au mieux :
SELECT T1.Recette, T2.Libelle AS Recette, T1.Ingredient, T2.Libelle AS Ingredient FROM T1 JOIN T2 ON (T1.RECETTE = T2.NUMERO OR T1.INGREDIENT=T2.NUMERO)
-------------------
Cordialement,
Clément
Bonjour,
Merci pour ta réponse Morgothal.
J'ai essayé ta proposition, malheureusement, je n'obtiens pas de résultat exploitable. J'ai dans les 2 colonnes les même données.
Au lieu d'avoir le nom de ma recette et les ingrédients, j'ai la même chose des 2 côtés.
Merci.
Merci pour ta réponse Morgothal.
J'ai essayé ta proposition, malheureusement, je n'obtiens pas de résultat exploitable. J'ai dans les 2 colonnes les même données.
Au lieu d'avoir le nom de ma recette et les ingrédients, j'ai la même chose des 2 côtés.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question