Bonjour !
Je bloque pour contourner l'absence de EXCEPT dans Access.
TABLE A : idHabitat
TABLE B : numHabitat,numPiece
A une occurrence de A peuvent correspondre plusieurs occurrences de B.
Je cherche à compter les idHabitat pour lesquels la pièce 99 n'est pas référencée.
TABLE A
1
2
3
4
5
TABLE B
1-1
1-99
3-7
4-1
5-99
RESULTAT ESCOMPTE
2 (idHabitat=3 ou 4)
La requête suivante fonctionne mais est très lente compte tenu de la volumétrie :
La requête suivante ne fonctionne pas puisque le résultat est 3 (idHabitat = 1 ou 3 ou 4)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select count(idHabitat) from A where idHabitat not in (select numHabitat from B where numPiece=99);
L'idéal aurait été :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select count(idHabitat) from A left join B on idHabitat=numHabitat where numPiece<>99);
Quoiqu'ainsi on n'obtient pas le compte des idHabitat correspondant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select idHabitat from A EXCEPT (Select numHabitat from B where numPiece<>99);
Pourriez-vous m'aider?
Je lis actuellement le tutoriel actuel http://sqlpro.developpez.com/cours/sqlaz/jointures/ mais je ne m'y retrouve pas tellement...
Partager