OVH Cloud OVH Cloud

Requête de différence sous Access

2 réponses
Avatar
Isa.
Bonjour,

J'ai 2 requ=EAtes avec les m=EAmes champs mais pas les m=EAmes=20
donn=E9es et je souhaiterais sortir toutes les lignes=20
diff=E9rentes.
Pour cela, je comptais utiliser l'op=E9rateur MINUS ou=20
EXCEPT mais =E7a ne marche pas et je ne trouve rien dans=20
l'aide.

SELECT * FROM T2=20
EXCEPT
SELECT * FROM T1;

Quelqu'un saurait-il l'op=E9rateur =E0 utiliser ou la bonne=20
syntaxe ?
D'avance merci pour vos r=E9ponses.

Isa.

2 réponses

Avatar
Raymond [mvp]
Bonjour.

as-tu essayé de faire une une requête union de deux requêtes de non
correspondance de chaque table sur l'autre ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Isa." a écrit dans le message de
news:15a601c48c46$31e13a60$
Bonjour,

J'ai 2 requêtes avec les mêmes champs mais pas les mêmes
données et je souhaiterais sortir toutes les lignes
différentes.
Pour cela, je comptais utiliser l'opérateur MINUS ou
EXCEPT mais ça ne marche pas et je ne trouve rien dans
l'aide.

SELECT * FROM T2
EXCEPT
SELECT * FROM T1;

Quelqu'un saurait-il l'opérateur à utiliser ou la bonne
syntaxe ?
D'avance merci pour vos réponses.

Isa.
Avatar
Yann
Salut Isa,
Essai ça
SELECT T1.Champ1, T1.Champ2,..., T2.Champ1, T2.Champ2,...
FROM T1 LEFT JOIN T2 ON (T1.Champ1=T2.Champ1) AND
(T1.Champ2=T2.Champ2) AND ...
WHERE T1.Champ1 Is Null, T1.Champ2 Is Null,..., T1.Champ1
Is Null, T2.Champ2 Is Null,...
UNION
SELECT T1.Champ1, T1.Champ2,..., T2.Champ1, T2.Champ2,...
FROM T1 RIGHT JOIN T2 ON (T1.Champ1=T2.Champ1) AND
(T1.Champ2=T2.Champ2) AND ...
WHERE T1.Champ1 Is Null, T1.Champ2 Is Null,..., T1.Champ1
Is Null, T2.Champ2 Is Null,...;

Bye
Yann

-----Message d'origine-----
Bonjour,

J'ai 2 requêtes avec les mêmes champs mais pas les mêmes
données et je souhaiterais sortir toutes les lignes
différentes.
Pour cela, je comptais utiliser l'opérateur MINUS ou
EXCEPT mais ça ne marche pas et je ne trouve rien dans
l'aide.

SELECT * FROM T2
EXCEPT
SELECT * FROM T1;

Quelqu'un saurait-il l'opérateur à utiliser ou la bonne
syntaxe ?
D'avance merci pour vos réponses.

Isa.
.