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 :

Requête ensembliste


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 20
    Points
    20
    Par défaut Requête ensembliste
    Bonjour,

    Après avoir regardé le cours sur les ensembles (http://sql.developpez.com/sqlaz/ensembles/), je n'ai pas réussi à trouver la réponse à ma question.

    J'ai deux tables :
    - galerie : galerie_id, galerie_nom
    - photo : photo_id, photo_nom

    Une galerie possède plusieurs photos, et une photo peut être présente dans plusieurs galeries différentes.
    (il existe donc une 3ème table d'association entre les deux : phogal).

    J'aimerais faire une requête SQL (fonctionnant sur MySQL 4.1.9) pour sélectionner toutes les photos communes à N galeries.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT photo_id 
    FROM photo p, galerie g, phogal pg
    WHERE p.photo_id = pg.photo_id
    AND g.galerie_id = pg.galerie_id
    AND g.galerie_id IN (1,4,5)
    où 1,4,5 sont les ID des galeries dont je veux les photos communes.

    Bref, au final, ça me retourne toutes les photos de ces 3 galeries.

    Quelqu'un saurait-il m'orienter ou m'aider ?

    Merci d'avance :-)[/code]

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT photo_id
    FROM phogal pg 
    WHERE galerie_id IN (1,4,5) 
    GROUP BY photo_id
    HAVING COUNT(galerie_id) = 3
    J'ai supposé qu'une photo ne pouvait être qu'une seule fois dans une galerie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

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

Discussions similaires

  1. Requête avec opérateurs ensemblistes
    Par elraphi dans le forum SQL
    Réponses: 3
    Dernier message: 25/03/2010, 17h21
  2. Requête avec opérateurs ensemblistes
    Par elraphi dans le forum Langage SQL
    Réponses: 9
    Dernier message: 09/03/2010, 16h14
  3. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  4. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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