IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Requête de sélection particulière


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut [SQL] Requête de sélection particulière
    Bonjour,

    Je bloque sur une requête qui ne me paraît pas si compliquée...
    Le schéma est le suivant: 2 tables, 1 personne peut choisir 2 produits.

    table "produit"
    -> id
    -> libelle_produit

    table "choix_produits"
    ->id
    ->id_produit1
    ->id_produit2

    et je voudrais la réponse de cette forme:

    --choix_produits.id--libelle_produit1--libelle_produit2--

    comment ramener ce résultat en 1 seule requête, du genre :

    "SELECT choix_produits.id, produit.libelle_produit nom_produit1 FROM choix_produits,produit WHERE choix_produits.id_produit1=produit.id"

    pour ramener les 2 noms des produits choisis ?

    Il doit y avoir 1 moyen, non ?

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    il te faut jetter un oeil du côté des jointures (tu as un très bon chapitre dans le tuto "SQL de A à Z" dans la rubrique SQL ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT CP.id AS choix_produit, P1.libelle_produit AS produit1, P2.libelle_produit AS produit2
    FROM choix_produit AS CP
    <div style="margin-left:40px">LEFT JOIN produits AS P1
    <div style="margin-left:40px">ON CP.id_produit1 = P1.id</div>LEFT JOIN produits AS P2
    <div style="margin-left:40px">ON CP.id_produit2 = P2.id</div></div>

  3. #3
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Merci Swoög,

    Je me demandais s'il était possible sur 1 simple select de ramener les enregistrements.

    le left join est 1 peu + gourmand en ressources,
    et ma requête ramenant forcément 2 produits par enregistrement.
    Les champs ne pouvant pas etre à null, un select aurait pu être bien...


    Je vais faire le left join.

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Il s'agit d'un SELECT, mais avec une jointure, c'est tout...

  5. #5
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    oui tu as raison,
    ma jointure marche nickel, Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Requête un peu particulière
    Par MoKeS dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/04/2008, 16h16
  2. [SQL] Id séparés par des virgules et requête de sélection
    Par Emotion dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/09/2007, 23h48
  3. [Requête/SQL]Problème de sélection d'enregistrements
    Par phil06 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 15/04/2007, 23h47
  4. [SQL] requête de sélection récursive ? ou impossible ?
    Par toxine dans le forum Langage SQL
    Réponses: 9
    Dernier message: 04/08/2005, 13h20
  5. Réponses: 1
    Dernier message: 03/08/2005, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo