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

Access Discussion :

Requête NOT IN [AC-2016]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 19
    Points : 13
    Points
    13
    Par défaut Requête NOT IN
    * Bonjour, *

    Je souhaite effectuer une fonction Not in entre ces 2 requête, comment pourrai-je débloquer ce problème?
    Merci d'avance.

    r1 =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT logiciels_listes.nom, logiciels_listes.etat
    FROM logiciels_listes INNER JOIN hostname_logiciel ON logiciels_listes.id_logiciel_liste = hostname_logiciel.logiciel
    WHERE hostname_logiciel.hostname="vvc09j";
    r2=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT logiciel.nom, logiciel.etat, parcLogiciel.parc_associe
    FROM logiciel INNER JOIN parcLogiciel ON logiciel.id_logiciel = parcLogiciel.logiciel_associe
    WHERE parcLogiciel.parc_associe="citrix";
    Sachant que les logiciels du table logiciel et logiciels_listes ont en commun le nom et l'etat.

    * Merci *
    Nom : bdd.JPG
Affichages : 1703
Taille : 27,1 Ko

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 114
    Points : 148
    Points
    148
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT logiciels_listes.nom, logiciels_listes.etat
    FROM logiciels_listes INNER JOIN hostname_logiciel ON logiciels_listes.id_logiciel_liste = hostname_logiciel.logiciel
    WHERE hostname_logiciel.hostname="vvc09j"
    AND logiciels_liste.nom NOT IN (SELECT logiciel.nom
    FROM logiciel INNER JOIN parcLogiciel ON logiciel.id_logiciel = parcLogiciel.logiciel_associe
    WHERE parcLogiciel.parc_associe="citrix")

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci pour votre réponse,ce que vous avez proposé marche très bien, sauf que j'aimerai utiliser logiciels_listes.nom et logiciels_listes.etat comme attributs en commun. Qu'est ce que vous en penser?

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 114
    Points : 148
    Points
    148
    Par défaut
    Je crois pas qu'on puisse faire un NOT IN avec plusieurs éléments, du coup j'ai modifié ta sous requête pour faire autrement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT logiciels_listes.nom, logiciels_listes.etat
    FROM logiciels_listes INNER JOIN hostname_logiciel ON logiciels_listes.id_logiciel_liste = hostname_logiciel.logiciel
    WHERE hostname_logiciel.hostname="vvc09j"
    AND logiciels_liste.nom NOT IN (SELECT logiciel.nom
    FROM logiciel, parcLogiciel
    WHERE parcLogiciel.parc_associe="citrix"
    AND logiciel.id_logiciel = parcLogiciel.logiciel_associe
    AND logiciel.nom = logiciels_listes.nom
    AND logiciel.etat = logiciels_listes.etat)
    Après je ne saisis pas entièrement ta BDD où son utilité, mais si tu as les champs Nom et Etat présents dans deux tables et qu'ils sont liés, tu peux sans doute restructurer ces deux tables.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    ça donne encore les mêmes résultats. je pense que je vais restructurer ma base.
    Merci pour ton aide en tt cas

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    il est possible d'utiliser NOT IN avec plusieurs champs en les concaténant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... AND (logiciels_listes.nom&logiciels_listes.etat) NOT IN (SELECT (logiciel.nom&logiciel.etat) FROM logiciel ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    D'accord je vais essayer. Merci pour la reponse.

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Ok,
    un conseil pour plus de lisibilité : sépare les champs avec un caractère spécial, le pipe '|' par exemple (obtenu avec AltGr 6)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... AND (logiciels_listes.nom & "|" & logiciels_listes.etat) NOT IN (SELECT (logiciel.nom & "|" & logiciel.etat) FROM logiciel ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    d'acc. merci bcppp

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

Discussions similaires

  1. [MySQL] Requête NOT IN tableau
    Par Albat_r dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/04/2009, 13h09
  2. Doute sur une requête NOT EXISTS
    Par CinePhil dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/03/2009, 12h00
  3. Problème requête NOT EXISTS
    Par jbulysse dans le forum SQL
    Réponses: 3
    Dernier message: 04/08/2008, 11h22
  4. PB requête NOT ISNULL
    Par crevettepourrie dans le forum Requêtes
    Réponses: 7
    Dernier message: 27/01/2006, 15h14
  5. [SQL]: Requête NOT IN SELECT(...)
    Par CAPPE dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/06/2005, 14h06

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