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 :

Afficher toutes valeurs differentes d'une table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut Afficher toutes valeurs differentes d'une table
    Bonjour à tous,

    J'ai un problème que je n'arrive pas à résoudre en sql sous access. J'ai une table qui se structure de la façon suivante :

    Table Stock :
    Type | numero |
    ----------------
    DNA | 30 |
    Lym | 30 |
    DNA | 10 |
    Lym | 15 |
    DNA | 40 |
    Lym | 40 |
    DNA | 19 |
    Lym | 20 |

    En fait, les valeurs {DNA, Lym} qui ont le même numéro forme un groupe. Ce que je voudrais faire c'est afficher tous les DNA qui ont un numéro différent du Lym.

    J'ai essayé deux choses, la première :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
       from Stock
       where
       Stock.[Type] = 'DNA'
       and Stock.numero <> T_Stock.numero;
    En gros ça me retourne rien.

    Du coup, j'ai copié toutes les valeurs DNA de la table Stock dans une autre table que j'ai nommé Stock_temp. Ensuite, j'ai essayé la chose suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
       FROM Stock, Stock_temp
       WHERE T_Stock.numero not like Stock_temp.numero
       AND Stock.[Type]='DNA';
    Ca me retourne une liste énorme qui est incorrecte. Est ce que quelqu'un pourrait m'aider, svp ?
    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * FROM Stock
    WHERE Type = 'DNA' AND numero NOT IN 
    (SELECT DISTINCT numero from Stock WHERE Type = 'Lym')
    Vous pouvez aussi arriver au même résultat en utilisant NOT EXISTS.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut
    Bonjour punkoff,

    Merci bien pour ton aide. Ca marche impec ton script.

    J'avais pensé du coup à quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT a.*
       FROM Stock a
       LEFT JOIN Stock b ON a.numero = b.numero AND b.Type = 'Lym'
       WHERE a.Type = 'DNA'
       AND b.Type IS NULL
    Mais bon, je prefère utiliser ton script il marche super bien.

    Merci encore pour l'aide.
    A+

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

Discussions similaires

  1. [2008] afficher toutes les contraintes d'une table
    Par win_ubuntu dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2013, 13h44
  2. [Débutant] Problème combobox qui affiche les valeurs(int) d'une table
    Par arngrimur dans le forum C#
    Réponses: 4
    Dernier message: 06/07/2011, 10h52
  3. Trouver dans une cellule toutes valeurs differentes
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 25/05/2009, 13h53
  4. Réponses: 4
    Dernier message: 15/09/2006, 17h28
  5. Réponses: 6
    Dernier message: 01/08/2006, 18h12

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