Bonjour,
Ma base est actuellement en version 10.2.0.1.0.
La requête suivante (j'espère ne pas me tromper sur la syntaxe de la commande en la retranscrivant) :
renvoie des enregistrements, alors qu'on attend aucun retour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select clChampClef, sum( decode( clType, 'C', clMontant, -1 * clMontant ) ) from MaTable group by clChampClef having sum( decode( clType, 'C', clMontant, -1 * clMontant ) ) <> 0
En ajoutant la ligne
à la fin de la requête, on obtient un résultat différent
Code : Sélectionner tout - Visualiser dans une fenêtre à part order by clChampClef, qui correspond effectivement au résultat attendu.
A noter que la volumétrie de la table est relativement très importante (plusieurs centaines de millions d'enregistrements, pour plusieurs millions d'enregistrements distincts par rapport au champ clef), et que le résultat renvoyé par la requête sans "ORDER BY" varie d'une exécution à l'autre.
Est-ce que quelqu'un sait si cette anomalie est référencée, et si un patch est censé la corriger (j'ai prévu d'installer les patchs, mais pas dans l'immédiat) ?
Où s'agit-il d'un problème de paramétrage ?
J'ai essayé de jouer avec les paramètres NLS_LANG, NLS_SORT, mais ça donne un résultat similaire.
Merci de votre aide.
Partager