bonjour

J'ai deux tables de structure identique et j'aimerais retourner les enregistrements de la 1ère table qui ne sont pas dans la 2 ème:

J'ai essayé les requêtes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 SELECT * 
FROM TABLE_1
WHERE EXISTS
  (SELECT * 
  FROM TABLE_2
  WHERE TABLE_2.MODIFDATE IS NULL);
 
ou 
 
   SELECT * 
FROM TABLE_1
MINUS
(SELECT * 
  FROM TABLE_2 
);
Mais aucune des deux ne retourne le résultat voulu qui devrait être
4 Williams4 Bernie 2006-10-30 14:25:15
5 Williams5 Bernie 2006-10-30 14:25:15
Qu'est-ce qui manque à ces deux requêtes.

Voici mon code.

Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
create table TABLE_1
(
  NAME       VARCHAR2(50),
  SURNAME    VARCHAR2(50),
  MODIFDATE DATE
)
 
create table TABLE_2
(
  NAME       VARCHAR2(50),
  SURNAME    VARCHAR2(50),
  MODIFDATE DATE
)
 
NAME SURNAME MODIFDATE
1 Williams1 Bernie 2006-10-30 14:25:15
2 Williams2 Bernie 2006-10-30 14:25:15
3 Williams3 Bernie 2006-10-30 14:25:15
4 Williams4 Bernie 2006-10-30 14:25:15
5 Williams5 Bernie 2006-10-30 14:25:15
6 Williams6 Bernie 2006-11-02 10:27:10
7 Williams7 Bernie 2006-10-30 14:25:15
8 Williams8 Bernie 2006-10-18 11:07:06
9 Williams9 Bernie 2006-10-30 14:25:15
10 Williams10 Bernie 2006-10-30 14:25:15
 
 
  NAME SURNAME MODIFDATE
1 Williams1 Bernie 2006-10-30 14:25:15
2 Williams2 Bernie 2006-10-30 14:25:15
3 Williams3 Bernie 2006-10-30 14:25:22
4 Williams6 Bernie 2006-10-30 14:25:22
5 Williams7 Bernie 2006-10-30 14:25:22
6 Williams8 Bernie 2006-10-30 14:25:22
7 Williams9 Bernie 2006-10-30 14:25:22
8 Williams10 Bernie 2006-10-30 14:25:22