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 :

Element pas dans le IN


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut Element pas dans le IN
    Bonjour,

    En 1 seule requête, comment trouver l'id de la table qui n'est pas dans un tableau IN entrée ?

    Exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT *  FROM table WHERE id IN (1, 2, 3, 4, 5);
    Si 3 n'existe pas dans la base je veux le savoir.
    En revanche, je ne veux pas récupérer tous les autres éléments de la table 3,6,7,8,9,10..

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    Soit un peu plus clair pour mieux comprendre ce que tui souhaites exactement

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par dorian53 Voir le message
    n'est pas
    ==> NOT IN

    Mais pas sûr de bien comprendre de quoi il s'agit non plus !

  4. #4
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    J'ai une liste d'identifiant en paramètre.
    Je veux connaitre les ids de cette liste qui ne sont pas présents dans une table.

    On m'a donné une réponse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from (select 1 as y union select 2 union select 3) x where x.y not in (select id from table);
    Quelqu'un a-t-il une autre solution ?

  5. #5
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    il n'est pas possible pour toi de mettre les différentes valeurs récupérées dans une autre table?
    cela serait plus simple à gérer je pense surtout si ta liste peut être importante

  6. #6
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Pas possible ni pratique dans cette situation.

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT y 
    FROM (
      SELECT 1 AS y 
      union SELECT 2 
      union SELECT 3
    ) AS x 
    LEFT OUTER JOIN laTable ON x.y = laTable.id
    WHERE laTable.id IS NULL
    En espérant que ta liste de paramètres n'est pas trop longue !

  8. #8
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Ok je vais rester sur cette solution.

    Je me demandais juste s'il n'y avait pas une autre façon d'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select 1 as y union select 2 union select 3
    En supprimant les "union", en fournissant une liste à virgule ou autre.

  9. #9
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Ca ressemble à du "comblage" de clef primaire auto incrémentée, j'espère que ce n'est pas ce dont il s'agit !

    Quel est le SGBD concerné ?

  10. #10
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Non il ne s'agit pas de ça.

    MySQL.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/05/2011, 14h38
  2. Réponses: 4
    Dernier message: 22/07/2009, 11h52
  3. elements qui n'est pas dans une liste
    Par KEnder dans le forum Général Python
    Réponses: 2
    Dernier message: 16/05/2008, 01h52
  4. qu'est ce qui va pas dans cette fonction???
    Par access001 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/04/2006, 13h10
  5. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43

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