Bonjour,
Je n'ai plus vraiment de souci car j'ai trouvé une solution mais je ne comprends pas bien l'origine exacte du problème.
En 11g : Tout va bien, pas de souci.
Problème, ma prod est en 10g et là souci.
J'ai une table de 184000 enregistrements à peu près.
Dans cette table, je travaille uniquement sur 3 champs
Annee : number not null (11 années différentes)
Entite : number not null (17000 entites)
montant : number not null
index sur annee,entite
j'effectueLorsque je regarde le résultat, ma somme est incorrecte pour certaines entités et années. 6 cas sur des milliers de lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Create table fm_vers as select annee,entite, sum(montant) from vers_mnt group by entite,annee ;
Pour obtenir un peu moins d'erreurs, il me suffit d'inverser l'ordre du group by. Je me retrouve avec encore 4 erreurs.
Au final, ma requête rendant les résultats complètement correct a besoin d'un order by sur entite à la fin.Je ne vois pas ce qui pose le problème en 10g, cela reste une somme assez simple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Create table fm_vers as select annee,entite, sum(montant) from vers_mnt group by annee,entite order by entite;
Si l'on part de la requête d'origine, où des erreurs existent, il suffit d'ajouter un where sur l'entité problèmatique pour ne pas voir d'erreurs. Je pourrai utiliser un curseur mais la requête reste basique donc je préfèrerai m'en passer.
Si vous avez des explications, je suis preneur.
Merci
Partager