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

MS SQL Server Discussion :

[SQL2000] Faire une jointure d'exclusion


Sujet :

MS SQL Server

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut [SQL2000] Faire une jointure d'exclusion
    Bonjour

    J'ai donc un soucis pour metre au point ce que j'appelle une jointure d'exclusion.

    Pour l'instant je fais une requête qui ressemble à ça, avec un NOT IN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT M.id_membre, M.Nom, M.Prenom, M.Adresse, M.Complement
    FROM MEMBRES M
    WHERE M.id_membre NOT IN(SELECT DISTINCT Id_Membre FROM Motif_Membre)
    Donc, cela ne parait pas être une bonne méthode d'un point de vue performance. des gens bien plus compétent que moi ici me l'ont dit.

    Mais, j'ai beau chercher et tenter de comprendre, je ne trouve pas le moyen de le faire avec une jointure.

    Pour être plus précis dans mon exposé : j'ai une table de membre avec des informations sur ces membres.
    J'ai une table Motif_Membre qui contient l'Id_Membre et l'Id_Motif lorsque le membre doit être exclu. Donc je souhaite faire une extraction de ma table Membre seulement pour les membre qui ne sont pas dans la table motif_membre. A part le NOT IN je n'ai pas trouvé de solution.

    Pouvez-vous m'aider ?

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT M.id_membre, M.Nom, M.Prenom, M.Adresse, M.Complement
    FROM MEMBRES M
    LEFT JOIN Motif_Membre MM ON M.id_membre = MM.id_membre 
    WHERE MM.id_membre IS NULL

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci, ça marche trés bien et les perf ont l'air de bien se porter.

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

Discussions similaires

  1. [SQL 2000] Faire une jointure d'exclusion
    Par zooffy dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/09/2007, 17h06
  2. Réponses: 1
    Dernier message: 09/11/2006, 13h08
  3. faire une jointure sur des clés différentes
    Par phpaide dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/09/2006, 11h16
  4. Comment faire une jointure ?
    Par Terminator dans le forum Langage SQL
    Réponses: 12
    Dernier message: 16/10/2005, 14h26
  5. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 13h10

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