Recherche sur deux tables

Kanagawa -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour

Désolé pour la probable niaiserie de ma demande, mais je débute et je n'ai encore pas trouvé réponse à ma question dans les tutoriels:

Mettons que j'ai 2 tables: produits(id,model) et categories(id, category).

A un moment donné je dispose d'une valeur X de model et d'une valeur Y de category et je souhaite savoir s'il existe un ID pour lequel model=X ET category=Y.

Vers quel type de requête dois-je me tourner ? Une jointure ?

Merci !

3 réponses

Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Bonjour,
Le problème c'est que tes tables sont mal construites : il n'y a actuellement aucune relation entre elles.
J'imagine qu'un produit a une catégorie, et donc ta table produits ressemblera à ça :

produits(id, model, category_id) où category_id est l'id de la category à laquelle le produit appartient.

Ensuite, tu auras effectivement besoin d'une jointure :
select p.* from produit p, categories c
where c.category = Y
and p.category_id = c.id
and p.model = X;


Cordialement,
0
Kanagawa
 
Non non, la table n'est pas mal construite du tout, en l'occurrence c'est la structure d'une boutique OScommerce !

Ici l'élément commun aux deux tables est tout simplement "id".
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Bonjour,

"SELECT id FROM produits,categorie WHERE produits.id=categorie.id"
0
Kanagawa
 
Merci, si ça fonctionne c'est effectivement très simple.

Il manque dans cette requête les conditions model=X et category=Y mais j'imagine maintenant qu'il suffit de rajouter ceci:

"SELECT id FROM produits,categorie WHERE produits.id=categorie.id AND model=X AND category=Y"
0
Alain_42 Messages postés 5413 Statut Membre 894 > Kanagawa
 
yes
0