IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Somme des valeurs positives et comparaison avec celles négatives


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut Somme des valeurs positives et comparaison avec celles négatives
    Bonjour à tous,

    je reviens vers vous avec mes casses-tête,

    j'ai besoin de vos HELP :

    j'ai une table sous forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    ___montant_trans____cumul_montant__sequence
     |    24213,43    |    -4412,49    |    17
     |    4412,49     |    0           |    18
     |    -33948,97   |    -33948,97   |    19
     |    871,19      |    -33077,78   |    20
     |    -34829,44   |    -67907,22   |    21
     |    33077,78    |    -21584,27   |    22
     |    13245,17    |    -21584,27   |    22
    ici, la manipulation commence à partir de la ligne ou j'ai obtenu 0 dans cumul_montant , ici c'est sequence =18.
    donc NOMBRE_INITIAL = 18
    pour montant_trans j'ai des valeurs positives et d'autres négatives, la manipulation se fait sur celles positives par rapport aux négatives de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * from this_table
    where sequence > 18
    and montant_trans >0 
    ...
    je doit sommer les montant_trans positives jusqu’à atteindre la première valeur négative après 18, c.à.d :
    je somme 871,19 + 33077,78 = valeur absolue(-34829,44 )
    une fois atteindre la 1ere valeur négative après 18
    je réinitialise NOMBRE_INITIAL il devient dans ce cas 21

    même traitement pour ce nombre, mais dans ce cas on prend pas en considération les nombres déjà utilisés dans la sommes précédente (ici c'est 33077,78 ).

    donc
    13245,17+ rien <> valeur absolue(-34829,44) on fait rien...
    on retourne ici 21 et on quitte.

    j'espère que j'étais clair avec vous

    qu'est ce que dois-je utiliser? un curseur?
    je comptes sur vos habituelles collaborations.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Citation Envoyé par LandGreen Voir le message
    je doit sommer les montant_trans positives jusqu’à atteindre la première valeur négative après 18, c.à.d :
    je somme 871,19 + 33077,78 = valeur absolue(-34829,44 )
    une fois atteindre la 1ere valeur négative après 18
    Pourquoi prendre 33077,78, (sequence 22 ) alors qu'il y a un chiffre négatif "avant" (sequence 21) ?

    Par ailleurs, il y a deux séquences 22... est-ce normal ou est-ce une erreur ?

    Pourriez-vous poster le résultat attendu pour votre jeu d'essai, avec quelques commentaires pour aider a bien comprendre le besoin ?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    Pourquoi prendre 33077,78, (séquence 22 ) alors qu'il y a un chiffre négatif "avant" (sequence 21) ?
    le principe ici et : solder les valeurs négatives, i.e : prendre une valeur négative et essayant de l'a solder donc sommer les nombre positive qui viennent juste après pour atteindre cette valeur négative.

    Par ailleurs, il y a deux séquences 22... est-ce normal ou est-ce une erreur ?
    c'est juste une numérotation

    Pourriez-vous poster le résultat attendu pour votre jeu d'essai, avec quelques commentaires pour aider a bien comprendre le besoin ?
    ici le résultat c'est la séquence de la valeur négative non-soldée :
    -34829,44 : puisque la seule valeur positive qui vient après ce chiffre est 13245,17 qui ne suffit pas de la solder, or en prend pas en considération 33077,78 puisque elle a été utilisé précédemment pour solder : -33948,97

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    j'avoue que je pose que des problèmes compliqués et difficiles

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    raison de plus pour bien les détailler. Je réitère : un jeu d'essai suffisamment complet et le résultat attendu (avc détail des calculs) seraient utile pour bien comprendre le problème.

    quelques piste, somme cumulée croissante (SUM(...) OVER(... ORDER BY ...), ou requête récursive.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    raison de plus pour bien les détailler. Je réitère : un jeu d'essai suffisamment complet et le résultat attendu (avc détail des calculs) seraient utile pour bien comprendre le problème.

    quelques piste, somme cumulée croissante (SUM(...) OVER(... ORDER BY ...), ou requête récursive.
    cj-joint quelque essaies
    Nom : illust.jpg
Affichages : 718
Taille : 97,7 Ko

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    le principe ici et de solder tous les montant négatifs, donc pour chaque montent négatif on doit sommer les valeurs après (qui sont utilisable qu’une seule fois) si on arrive pas à le solder on récupère sa SEQ.

Discussions similaires

  1. Afficher seulement des valeurs positives avec un QLCDNumber
    Par alaskabender dans le forum Débuter
    Réponses: 2
    Dernier message: 22/11/2014, 02h21
  2. [Débutant] plot des valeurs positives seulement avec if ?
    Par nabilfib dans le forum MATLAB
    Réponses: 2
    Dernier message: 16/01/2013, 09h33
  3. Réponses: 28
    Dernier message: 07/06/2006, 13h30
  4. Somme des valeurs de certaines lignes
    Par Tartenpion dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/02/2006, 16h46
  5. Réponses: 6
    Dernier message: 03/10/2005, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo