Recherche sur deux tables

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

  1. Bonjour,

    "SELECT id FROM produits,categorie WHERE produits.id=categorie.id"
    0
    1. 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
  2. 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
    1. Contributeur
      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