Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 16h53   #1
Invité de passage
 
Homme pen pene
Ingénieur systèmes et réseaux
Inscription : juillet 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme pen pene
Localisation : France

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

Informations forums :
Inscription : juillet 2011
Messages : 4
Points : 0
Points : 0
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
pen120 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 17h55   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 184
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 184
Points : 2 814
Points : 2 814
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 09h52   #3
Invité de passage
 
Homme pen pene
Ingénieur systèmes et réseaux
Inscription : juillet 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme pen pene
Localisation : France

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

Informations forums :
Inscription : juillet 2011
Messages : 4
Points : 0
Points : 0
Par défaut requete

je nais pas compris la solution
ecrivez moi la requete sql
merci
pen120 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 12h19   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 184
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 184
Points : 2 814
Points : 2 814
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 12h29   #5
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
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 644
Points : 3 895
Points : 3 895
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 :
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
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h26.


 
 
 
 
Partenaires

Hébergement Web