|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2006 Messages : 16 ![]() |
Bonjour,
J'ai une fonction récursive qui fonctionne très bien pour afficher mes données : Code :
- la quantité du niveau 2 doit être multipliée par la quantité du niveau 1 - la quantité du niveau 3 doit être multipliée par la quantité du niveau 2 puis multipliée par la quantité du niveau 1 Mais je peux avoir 2 niveaux 2 pour un seul niveau 1 et là ça ne fonctionne plus, puisqu'il multiplie par le niveau 3 précédent, il ne reprend pas au niveau 1 correspondant : Level | Qté | Total 1 | |600 2 |1 |600 3 |0.001 |0.6 2 |1 |0.6 =>ERREUR : résultat attendu = 600 3 |0.001 |0 =>ERREUR : résultat attendu = 0.6 1 | |600 2 |1 |600 3 |0.001 |0.6 2 |1 |0.6 =>ERREUR : résultat attendu = 600 3 |0.001 |0 =>ERREUR : résultat attendu = 0.6 Houla, je ne sais pas si c'est bien clair tout ça ! ;-) Quelqu'un aurait une idée ? |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 440 ![]() |
avec sys_connect_by_path, et une fonction qui fait un execute immediate de la chaine.
Code :
TO_NUMBER(EXECUTE_REQUETE('select 1'||SYS_CONNECT_BY_PATH(NVL(qte,1),'*')||' from dual')) qte
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
Si on ne veut pas avoir à créer une fonction stockée (par exemple, parce qu'on n'a pas le droit), on peut aussi ajouter du scalaire hiérarchique, avec un :
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Pour différentes approches de produit cummulé regarde :
[Info] Produit cumulative en sql J'ai mis à jour ce post notamment avec un exemple de l'approche de MCM. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com