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

Langage SQL Discussion :

relation n-n ,rechercher un element appartement à deux groupes


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut relation n-n ,rechercher un element appartement à deux groupes
    bien le bonjour ,

    pour bien expliquer mon probleme j'ai actuellement le base de donné (simplifié) suivante

    table 1 :
    employe_id
    comment

    table 2
    group_id
    location

    et une table associative

    relation_id
    (foreign key) employe_id
    (foreign key) group_id


    je voudrais faire la recherche suivante
    obtenir l'ensemble des employe_id appartenant à la fois à plusieurs group
    à l'heure actuelle je passe par une sous requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT *
    FROM  associative 
    WHERE group_id  ='72'
    AND employe_id  IN (SELECT employe_id 
    FROM  associative 
    WHERE group_id ='74')
    mais je pense qu'il y a surement un moyen plus simple , sans passer par les sous requetes , car qui plus est j'aimerai pouvoir faire les recherches via une gui , mais vu que je débute en SQL je ne sais pas trop comment faire

    d'avance merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 878
    Points : 53 055
    Points
    53 055
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT e.employe_id
    FROM   Table1 AS e
           INNER JOIN association AS a
                 ON e.employe_di = a.employe_id
    WHERE  group_id IN (72, 74)
    GROUP  BY e.employe_id
    HAVING count(DISTINCT a.group_id) = 2
    A +

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    ok , parfait c'est exactement ce que je voulais
    j'aurais jamais trouvé tout seul

    merci

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

Discussions similaires

  1. Rechercher dans un tableau deux dimensions
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/09/2006, 20h29
  2. Permuttez les éléments de deux zones de liste
    Par flo64 dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 09h15
  3. Rechercher les element d'une liste dans une autre liste
    Par fessebleu dans le forum Langage
    Réponses: 30
    Dernier message: 24/04/2006, 21h23
  4. Rechercher un element dans un msflexgrid et selection
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 28/11/2005, 08h09
  5. recherche valeur maximale entre deux champs
    Par maysa dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/05/2005, 09h40

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