Bonjour,

J'ai besoin d'aide sur une requête, j'ai écrit une requête mais qui part en vrille et ne donne aucun résultat.

Je pense qu'il y a matière à faire mieux.

TABLE1 : ID_E, NOM_P
TABLE2 : ID_E, ID_P
TABLE3 : ID_P, NOM_P

Le lien entre ID_E et NOM_P dans TABLE2/TABLE3 est 1:N

Mon besoin est de trouver les couples ID_E/NOM_P de TABLE1 qui ne sont pas dans TABLE2/TABLE3

Exemple:

TABLE1
1,TOTO
2,TITI
3,TATA

TABLE2/TABLE3
1,TOTO
1,TITI
1,TATA
2,TOTO
3, TITI
3, TATA

Doit apparaître :

2,TITI

Je ne suis pas sur d'être clair là... :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT count(T1.ID_E)
  FROM BDD.TABLE1 T1
 WHERE CONCAT(T1.ID_E,
              T1.NOM_P) NOT IN
          (SELECT CONCAT(T2.ID_E, T3.NOM_P)
             FROM    BDD.TABLE3 T3
                  INNER JOIN
                     BDD.TABLE2 T2
                  ON (T3.ID_P = T2.ID_P))