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 :

Extraire les données d'une table dont la valeur d'une colonne diffère des valeurs..


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut Extraire les données d'une table dont la valeur d'une colonne diffère des valeurs..
    Bonjour à tous !

    Disons que j'ai 2 tables :

    T1 (par exemple 650 enregistrements) :
    - champ ID (INTEGER)
    - champ NOM (VARCHAR)
    - champ TYPE (VARCHAR)

    et

    T2 (5 enregistrments) :
    - champ ID (INTEGER)
    - champ TYPE (VARCHAR)

    Je souhaite écrire une requête qui me renvoie tous les ID et NOM de la table T1 dont le type est différent d'une des valeurs de la colonne TYPE de la table T2.

    En gros : SELECT id, nom FROM t1 WHERE type<>***une des valeur de la colonne TYPE de la table T2***

    Mais je ne sais pas avec quoi il faut remplacer ***une des valeur de la colonne TYPE de la table T2***.

    Merci d'avance pour votre aide ;-)
    </aliasjcdenton>

    "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves"

  2. #2
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Hello,

    Tu pourrais utiliser la clause NOT IN comme ceci:

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select t1.id, t1.nom, t1.type
    from T1 t1
    where t1.type not in (select t2.type 
                          from T2 t2
                          where t1.id = t2.id);

    Je pense que ça devrait fonctionner. Essaie et dis moi.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut
    Eh bien cela fonctionne parfaitement ! Merci

    On en apprend tous les jours

    A+

    P.s. : petite rectification, il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT t1.id, t1.nom, t1.type
    FROM T1 t1
    WHERE t1.type NOT IN (SELECT t2.type 
                          FROM T2 t2
                          WHERE t1.type = t2.type);
    Mais la syntaxe est correcte.
    </aliasjcdenton>

    "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves"

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

Discussions similaires

  1. Extraire les données de plusieurs tables [Talend-Java]
    Par ADBows dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 18/08/2011, 00h53
  2. Réponses: 3
    Dernier message: 15/10/2008, 09h24
  3. Réponses: 1
    Dernier message: 28/08/2008, 22h53
  4. tri d'une table dont le nom d'une colonne est Date
    Par welid dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/11/2007, 22h10
  5. Réponses: 12
    Dernier message: 18/07/2006, 19h51

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