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 :

Rechercher les valeurs manquantes


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut Rechercher les valeurs manquantes
    Bonjour,

    je recherche dans une table les valeurs qui ne sont pas présentes dans une table de référence.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    TABREF
    id code
    1  10
    2  101
    3  102
    4  103
    5  105
     
    TABLE
    id code
    1  102
    2  103
    3  104
    4  105
    Pour cet exemple, je veux avoir : 104
    J'ai testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    SELECT code FROM table
    INNER JOIN (SELECT code AS code FROM tabref
    GROUP BY code) b
    ON (code<>b.code);
    Résultat : Column 'code' in field list is ambiguous 
     
     
    SELECT code FROM table AS F
    WHERE NOT EXISTS
    (SELECT code FROM tabref AS M);
    Résultat : aucun (pas celui voulu)
     
    SELECT code FROM table
    MINUS
    SELECT code FROM tabref;
    Résultat : erreur de syntaxe (??)
    Merci

    NB : je travaille sous mysql 5.0

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 384
    Points
    28 384
    Par défaut
    Si ta table se nomme bien TABLE, alors le SGBD doit avoir bien du mal à s'y retrouver : Il ne faut pas utiliser de mot réservé pour nommer des objets !
    Ensuite, il y a plusieurs moyens de répondre à ta question, à toi de choisir celui que tu préfères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    SELECT  code
    FROM    matable
    WHERE   code NOT IN
            (   SELECT  code
                FROM    tabref
            )
    ;
    SELECT  code
    FROM    matable AS t
    WHERE   NOT EXISTS
            (   SELECT  code
                FROM    tabref  AS r
                WHERE   r.code = t.code
            )
    ;
    SELECT  t.code  AS code
    FROM    matable AS t
        LEFT JOIN
            tabref  AS r
            ON  r.code = t.code
    WHERE   r.code  IS NULL
    ;

  3. #3
    Membre habitué Avatar de arcane
    Inscrit en
    Avril 2003
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 311
    Points : 178
    Points
    178
    Par défaut
    Ma table ne s'appelle évidemment pas table, c'est juste que je remplace les noms pour le post, et a chaque fois je me fais avoir.

    Merci pour les solutions.
    La premiere est simple.
    La deuxieme ressemble a ma deuxieme, mais corrigée.

    [edit]
    La troisieme solution semble plus lourde à l'exécution (beaucoup plus longue)
    [/edit]

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

Discussions similaires

  1. Numérique -> caractère (et les valeurs manquantes)
    Par hoccha dans le forum Débutez
    Réponses: 7
    Dernier message: 15/07/2011, 14h22
  2. [JFreeChart] gérer les valeurs manquantes
    Par LuckyDj dans le forum 2D
    Réponses: 1
    Dernier message: 27/11/2009, 16h05
  3. [AC-2003] Recherche des valeurs manquantes
    Par merocean dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 30/06/2009, 23h23
  4. Réponses: 9
    Dernier message: 19/09/2008, 17h26
  5. Comment trouver les valeurs manquante d'une série ?
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/10/2006, 09h38

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