Relations tables multiples Access
Fermé
rastababa
Messages postés
21
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
25 janvier 2013
-
18 juin 2012 à 14:08
blux Messages postés 26798 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 avril 2025 - 20 juin 2012 à 10:15
blux Messages postés 26798 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 avril 2025 - 20 juin 2012 à 10:15
A voir également:
- Relations tables multiples Access
- Tables des matières word - Guide
- Access appdata - Guide
- Tables ascii - Guide
- Oracle liste des tables ✓ - Forum Oracle
- Hns-wan-access-port-fwd ✓ - Forum Réseau
2 réponses
blux
Messages postés
26798
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
17 avril 2025
3 335
18 juin 2012 à 15:59
18 juin 2012 à 15:59
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 ?
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 ?
rastababa
Messages postés
21
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
25 janvier 2013
18 juin 2012 à 17:38
18 juin 2012 à 17:38
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;
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;
blux
Messages postés
26798
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
17 avril 2025
3 335
19 juin 2012 à 10:19
19 juin 2012 à 10:19
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...
rastababa
Messages postés
21
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
25 janvier 2013
19 juin 2012 à 14:24
19 juin 2012 à 14:24
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.
blux
Messages postés
26798
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
17 avril 2025
3 335
20 juin 2012 à 10:15
20 juin 2012 à 10:15
Il faudrait faire la requête sans le sum et le group by, pour voir à quel moment le nombre de lignes explose...