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 :

comparaison deux table a une seul requete sql


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 11
    Points : 11
    Points
    11
    Par défaut comparaison deux table a une seul requete sql
    bonjour

    j'ai une table1 qui a contient un champ numero1 et une table2 qui a un champ numero2,
    je voudrai faire une seul requete qui compare et affiche les numero1 de la table1 qui n'exist pas dans la table2,et les numero2 de la table2 qui n'exist pas dans la table1 (afficher les deux champ,nuemro1 et numero2)
    merci

  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 Pen120,

    Solution (que je ne conseille pas), via l'assistant "création de requête sélection" :
    • ajouter Table1 et Tabl2 sans liaison (c'est l'astuce) (FROM) ;
    • sélectionner numero1, numero2, X : (select numero2 from Table2 where numero2=numero1), Y : (select numero1 from Table1 where numero1=numero2) (SELECT) ;
    • "Critères" : X est null et Y est null (WHERE).

    ==> pas testé, mais cela pourrait être l'idée.

    Pourquoi je ne la conseille pas ?
    A cause de problème de performance : Access lie, pour chacun des enregistrements de Table1, tous les enregistrements de Table2 et applique les tests.

    Bref, c'était un "défi" (mais c'est une seule requête qui en contient deux).

    Il vaut mieux passer par des requêtes de non-correspondance de Table1 vers Table2, puis de Table2 vers Table1 (liées par numero1/numero2).
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 11
    Points : 11
    Points
    11
    Par défaut requete
    je nais pas compris la solution
    ecrivez moi la requete sql
    merci

  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
    Bonjour à toi aussi Pen120... ,

    Il faut un minimum d'implication dans ton propre problème (ainsi qu'un minimum de politesse).

    Donc, je ne t'écrirai pas cette requête (à noter que la forme de ta demande ne m'incite pas à le faire) : je te suggère d'avancer dans l'écriture de celle-ci (via l'assistant), et de poster son image graphique si tu éprouves quelque difficulté.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut Richard_35 et bienvenu pen120,

    il faut faire une requete full outer qui n'existe pas sous access mais qui peut être remplacé pas une union cf faq d'une requete de non correspondance dont tu peux obtenir le sql par l'assitant.
    soit un truc de ce genre:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from table1 left join table2 on numero1=numero2 where numero2 is null
    union
    select * from table2 left join table1 on numero2=numero1 where numero1 is null

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/06/2009, 16h12
  2. Réponses: 1
    Dernier message: 20/02/2008, 12h34
  3. effacer un enregitrement de deux tables en une seule requete
    Par mikebranque dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/10/2006, 14h30
  4. (Performance) Deux tables ou une seule?
    Par Norin dans le forum Access
    Réponses: 26
    Dernier message: 24/06/2006, 21h43
  5. Réponses: 4
    Dernier message: 08/06/2006, 21h06

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