Relations tables multiples Access

rastababa Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27136 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Sur Access 2003, lorsque je lance une requête sur des données chiffrées sur deux tables, j'obtiens des chiffres largement supérieurs à ce qu'ils devraient être.

En gros, j'ai une table avec des codes, et deux tables avec des codes et des données. Lorsque j'exécute une requête en reliant ma table de codes avec mes deux tables de données en même temps, les résultats sont supérieurs à ce qu'ils devraient être, tandis que si je fais une requête pour chaque table de données, les résultats sont cohérents.

Est-il possible d'obtenir des résultats cohérents avec une seule requête ?

Merci de l'aide que vous pourrez m'apporter, en espérant avoir été assez clair dans mon explication :s

2 réponses

blux Messages postés 27136 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

quand tu dis 'résultats supérieurs', c'est qu'ils sont trop grands ou qu'il y en plus que tu ne l'imaginais.

Si c'est qu'il y a trop de lignes renvoyées, c'est que vraisemblablement, tu effectues un produit cartésien faute d'avoir fait une jointure entre les tables.

Pourrais-tu mettre le texte de la requête afin que l'on vérifie s'il y a des clauses JOIN ?
0
rastababa Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Merci pour ta réponse! Quand je disais des résultats supérieurs, c'était pour dire des chiffres trop grands.

Le texte sql de la requête est le suivant :

SELECT NAF_1_2_secteurs.Code_secteur, Sum(creations_CMNA_naf_rev1.Entreprises_2006) AS SommeDeEntreprises_2006, Sum(creations_CMNA_naf_rev2.Entreprises_2011) AS SommeDeEntreprises_2011
FROM (NAF_1_2_secteurs INNER JOIN creations_CMNA_naf_rev2 ON NAF_1_2_secteurs.CodeNaf2 = creations_CMNA_naf_rev2.CODE_APE) INNER JOIN creations_CMNA_naf_rev1 ON NAF_1_2_secteurs.CodeNaf1 = creations_CMNA_naf_rev1.APE
GROUP BY NAF_1_2_secteurs.Code_secteur;
0
blux Messages postés 27136 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Ta requête contient un SUM, il y a de fortes chances qu'une jointure manque, conduisant à une augmentation des données prises en compte...
0
rastababa Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Peut-être... mais je ne vois pas comment faire autrement. Étant donné le code et le fait que les relations soient de 1 à plusieurs (1 pour NAF_1_2_secteurs, et plusieurs pour les deux autres), je me dis que les enregistrements doivent se multiplier une première fois avec le INNER JOIN entre parenthèse, puis une deuxième fois avec le 2e INNER JOIN.
0
blux Messages postés 27136 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Il faudrait faire la requête sans le sum et le group by, pour voir à quel moment le nombre de lignes explose...
0