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

Requêtes et SQL. Discussion :

Alternative à Except [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Points : 243
    Points
    243
    Par défaut Alternative à Except
    Bonjour à tous,

    Je dispose de 2 tables :
    (La normalisation laisse à désirer mais je dois m'y adapter)

    Activites (ID,DateAct,PersonnelAct)
    Travaux (DateT,PersonnelT)

    Je souhaite rechercher quels enregistrements (Champs Date et Personnel) de la Table Travaux ne sont pas dans la table Activites.

    J'ai réalisé la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DateAct as D, PersonnelAct as P FROM Activites
     
    EXCEPT [MINUS]
     
    SELECT DateT as D, PersonnelT as P FROM Travaux
    Bien entendu, ni except ni minus ne sont pris en compte par access. J'avais pensé à l'opérateur NOT IN mais est-ce réalisable sur 2 champs?

    Comment puis-je réalisé ma requête ?

    Merci de bien vouloir me venir en aide.

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Tarnx,

    Eh bien, via l'assistant, c'est tout simple...

    En création de requête, choisis "Requête de non correspondance" et tu suis ce que te demande Access.

    Re-postes, si tu n'y arrives pas.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Points : 243
    Points
    243
    Par défaut
    En cherchant l'utilitaire "Requête de non correspondance" (que je n'ai pas trouvé ) , j'ai réussi à écrire ma requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * FROM Activites
    WHERE ID Not In (
         SELECT ID
         FROM Activites A INNER JOIN Travaux T ON (T.DateT = A.DateAct) AND (T.PersonnelT = A.PersonnelAct)
    );
    Je ne connaissais pas le 'And' dans un 'Inner Join', maintenant c'est le cas.

    Merci du coup de pouce

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Dans l'onglet "Requête", "Nouveau" : dans la liste apparaît "Assistant requête de non correspondance", "OK"... puis tu suis ce que Access te demande.

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

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 04/05/2015, 00h29
  2. Exception & Try..catch
    Par PurL dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/12/2002, 16h35
  3. Réponses: 3
    Dernier message: 01/11/2002, 15h30
  4. Réponses: 5
    Dernier message: 12/06/2002, 16h12
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 15h11

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