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 :

Utilisation du NOT IN


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Par défaut Utilisation du NOT IN
    Bonjour à tous...

    J'ai une table avec x champs dont 2 pouvant avoir la même valeur.
    J'aimerais extraire toutes les enregistrements du champ 1 donc la valeur n'existe pas dans le champ 2.
    Pour être plus clair :
    Champ1___Champ2
    1_________8
    1_________3
    2_________4
    2_________5
    2_________1
    3_________7
    3 ________9

    Donc au final je souhaiterais avoir que la valeur 3 restante puisque 1 et 2 sont présentes dans Champ2.

    Merci pour votre aide ;-)
    @ + Tard

  2. #2
    Membre éprouvé
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Par défaut
    Citation Envoyé par boulap
    Donc au final je souhaiterais avoir que la valeur 3 restante puisque 1 et 2 sont présentes dans Champ2.
    euh ... plutôt 2 puisque 1 et 3 sont présentes dans dans Champ2 ... non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT	DISTINCT(champ1)
    FROM	latable
    WHERE 	champ1 NOT IN
    (
    SELECT 	t2.champ2
    FROM 	latable t2
    )
    ou si tu ne veux pas de sous-requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT	DISTINCT (t1.champ1)
    FROM	latable t1
    LEFT OUTER JOIN latable t2
    ON 	t1.champ1 = t2.champ2
    WHERE t2.champ2 IS NULL

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Par défaut
    Bonjour à tous...

    Citation Envoyé par TheLeadingEdge
    euh ... plutôt 2 puisque 1 et 3 sont présentes dans dans Champ2 ... non ?
    oups oui :-p

    que représente le latable t1 et latable t2 ?

    car j'ai donc dans mon cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT (none_NMCLI.ArtccFab)
    FROM none_NMCLI
    LEFT OUTER JOIN none_NMCLI
    ON 	none_NMCLI.ArtccFab = none_NMCLI.ArtccComposant
    WHERE none_NMCLI.ArtccComposant IS NULL
    ou none_NMCLI = la table contenant les données
    ArtccFab = le 1er champ
    ArtccComposant = le 2ème champ ;-) (je veut donc extraire les ArtccFab qui ne sont pas dans ArtccComposant)

    Avec cette requête SQL j'ai une erreur de syntaxe dans l'expression JOIN

    Merci

  4. #4
    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
    Par défaut
    Tu fais une auto-jointure, ce qui veut dire que tu utilises 2 instances de la même table, il faut indiquer au parser dans quelle copie tu prends quoi, d'où l'usage des alias comme te l'a indiqué TheLeadingEdge :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT t1.ArtccFab
    FROM none_NMCLI t1 LEFT OUTER JOIN none_NMCLI t2
                                    ON t1.ArtccFab = t2.ArtccComposant
    WHERE t2.ArtccComposant IS NULL

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Par défaut
    Bonjour Médiat, le forum...

    Je n'avais pas compris cette notion !!! Maintenant c'est un peu plus clair ;-)

    Merci à toi et à TheLeadingEdge.

    Bonne semaine.
    @+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/12/2009, 12h55
  2. utilisation de "not exist"
    Par xirom dans le forum Requêtes
    Réponses: 11
    Dernier message: 26/09/2008, 09h06
  3. Utiliser Is Not Null , (VB6)
    Par libuma dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/03/2008, 17h27
  4. Utilisation du NOT IN
    Par aDamas dans le forum Débuter
    Réponses: 1
    Dernier message: 19/06/2006, 04h46
  5. [XSLT] Utilisation de "not"
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/05/2006, 11h11

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