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

Requêtes MySQL Discussion :

Requete select sur 2 tables


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 47
    Points : 33
    Points
    33
    Par défaut Requete select sur 2 tables
    J'ai une base avec la structure suivante :
    table photo
    avec les champ id_photo, nom_photo
    Exemples d'enregistrements :
    id:01 | nom:uneimage.jpg
    id:02 | nom:uneautreimage.jpg
    id:03 | nom:une3emeimage.jpg

    table link_keyword
    avec les champs id_photo, keyword
    exemples d'enregistrements
    id_photo: 01 | keyword:chateau
    id_photo: 01 | keyword:loire
    id_photo: 02 | keyword:loire
    id_photo: 02 | keyword:saumur

    La requet que je veut faire c'est récupérer le nom des photos correspondant au keyword chateau ET loire...

    Ca à l'air simple comme ça mais la je sèche!

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 47
    Points : 33
    Points
    33
    Par défaut
    Bon je m'en suis sortis avec les sous-requetes
    Mais si vous connaissez un autre moyen plus rapide ou plus efficace je suis preneur

  3. #3
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Pas fondametalement mieux mais quand les sous requêtes ne marchent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT nom_photo
    FROM photo JOIN link_keyword l1 ON photo.id_photo=l1.id_photo AND l1.keyword='loire'
               JOIN link_keyword l2 ON photo.id_photo=l2.id_photo AND l2.keyword='chateau'
    ou alors même si je ne suis pas fan:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT nom_photo, count(*)
    FROM photo JOIN link_keyword ON photo.id_photo=link_keyword.id_photo AND (link_keyword.keyword='loire' OR link_keyword.keyword='chateau')
    GROUP BY photo.id_photo
    HAVING count(*) = 2

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 47
    Points : 33
    Points
    33
    Par défaut
    Merci pour ton aide

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

Discussions similaires

  1. Requete select sur 2 tables => doublons
    Par Lamanne dans le forum Requêtes
    Réponses: 8
    Dernier message: 22/01/2009, 23h53
  2. Requete select sur plusieurs tables
    Par cl@ndestIno dans le forum Langage SQL
    Réponses: 3
    Dernier message: 15/12/2008, 13h36
  3. Requete mysql : select sur deux tables
    Par IP-Fix dans le forum Requêtes
    Réponses: 9
    Dernier message: 12/11/2008, 17h03
  4. requete SELECT sur 3 tables
    Par TheBlackReverand dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/01/2008, 13h53
  5. Requete SELECT SUR +sieurs tables
    Par yanis97 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/09/2006, 14h30

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