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

Langage SQL Discussion :

requête avec calcul d'un cumul


Sujet :

Langage SQL

  1. #1
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut requête avec calcul d'un cumul
    bonjour
    j'ai une table


    Je laisse pour l'instant tomber les 2 premières colonnes et je souhaite fair eun cumul sur le nombre d'accidents.
    Avec cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.PERIODE, (SELECT Sum(NB_ACCIDENT) FROM NB_ACCIDENTS AS T2 WHERE 
        Val(Mid(T2.PERIODE,2)) <= Val(Mid(T1.PERIODE,2))) AS CUMUL
    FROM NB_ACCIDENTS AS T1
    GROUP BY T1.PERIODE;

    çà marche bien :


    un question quand même :
    pour la période P8, je n'ai pas d'accident.. alors, je voudrais que le cumul pour P8 soit = au cumul de P7.
    Est-ce possible ????

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Il vous faut une table des périodes.

  3. #3
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    admettons que j'en ai une... (très facile à faire)
    disons qu'elle s'appelle "PERIODE" et que la colonne s'appelle "P"...
    ensuite ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Essayez de mettre en place la jointure externe pour avoir toutes les périodes qu'elles aient des accident ou pas.

  5. #5
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Citation Envoyé par vmolines Voir le message
    Essayez de mettre en place la jointure externe pour avoir toutes les périodes qu'elles aient des accident ou pas.
    hum, çà ne me convient pas car je dois ensuite faire un graphique et je veux cette période P8 avec le cumul identique à celui de P7

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Vous avez essayé avant de dire que ça ne convenait pas ? Car si votre cumul prend bien tous les mois inférieurs au moins courant, P8 aura la même valeur que P7.

  7. #7
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut
    Tu travail sur php ?? Enfin je sais pas tu fais une condition...

    Par exemple tu récupère les accidents et si il y en a 1 qui est égal à zéro bah tu demande que ça prenne la valeur que tu souhaite...

    Tu me suis ???

  8. #8
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Je veux une table

    avec une ligne P8 28


    cette table sera exploitée dans crystal report, avec d'autres tables ...

  9. #9
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Vous répondez aux question que je vous pose ? Car j'ai parfaitement compris le résultat que vous attendiez et la piste que je vous ai donnée doit y conduire.

  10. #10
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Citation Envoyé par vmolines Voir le message
    Vous répondez aux question que je vous pose ? Car j'ai parfaitement compris le résultat que vous attendiez et la piste que je vous ai donnée doit y conduire.

    oui, j'ai répondu... que çà ne marchait pas...
    je pense que j'ai l'origine de l'erreur...
    P8 n'est pas dans ma table de départ car il n'y a pas d'accident pour P8...
    je vais faire une requête en amont.

    Merci pour vos réponses

  11. #11
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Mmmmmh... Il vous faut une table des périodes exhaustive. A partir de là, une requête avec jointure externe sur une telle table donnera votre résultat.

  12. #12
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Citation Envoyé par vmolines Voir le message
    Mmmmmh... Il vous faut une table des périodes exhaustive. A partir de là, une requête avec jointure externe sur une telle table donnera votre résultat.
    J'ai maintenant la table avec les valeurs exhaustives :


    Pour chaque POPULATION, STATUT, je veux toutes les périodes P1 à P13 avec des 0 si la ligne n'existe pas dans NB_ACCIDENT.

    Après, je pourrai faire mes cumuls

    J'espère être claire....

  13. #13
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    J'ai réussi à m'en sortir avec des lefts join dans crystal report...

    Pour info, voici le graphique que je cherchais à faire :


    Merci à tous pour les bonnes idées.

  14. #14
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    C'est plus la requête qui a donné le bon résultat qu'il est interessant de présenter sur le forum.

  15. #15
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Citation Envoyé par vmolines Voir le message
    C'est plus la requête qui a donné le bon résultat qu'il est interessant de présenter sur le forum.
    alors, je n'ai pas modifié ma requête mais j'ai résolu le problème par programmation dans crystal report :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    global numbervar cumul_n;
    global numbervar cumul_h;
     
    if not isnull({CUMUL_ACCIDENTS.CUMUL})then 
         cumul_n:={CUMUL_ACCIDENTS.CUMUL}
    else cumul_n:=cumul_n;
     
     
    if not isnull({CUMUL_NB_HEURES.CUMUL}) then 
        cumul_h:={CUMUL_NB_HEURES.CUMUL}
    else cumul_h:=cumul_h;
     
    if cumul_h<>0 then
     
    (cumul_n/cumul_h)*1000000;

  16. #16
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Donc ça n'a rien à faire dans ce forum.

  17. #17
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Citation Envoyé par vmolines Voir le message
    Donc ça n'a rien à faire dans ce forum.
    alors, supprimez le post. je pensais pouvoir gérer ce problème avec une requête. Je ne voulais pas polluer.

Discussions similaires

  1. [AC-2010] Besoin d'aide requête avec calcul de pourcentages
    Par jonsnow43 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/06/2014, 17h56
  2. Requête avec calcul de somme
    Par btssouma dans le forum JPA
    Réponses: 4
    Dernier message: 21/09/2012, 16h07
  3. Retranscrire une Requête avec calcul en VBA
    Par xargin dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/09/2011, 09h33
  4. [AC-2007] Requête avec calcul
    Par Prisss dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/06/2010, 16h20
  5. Problème de requête avec cumul des conditions sur un champ
    Par UtopieAmbiante dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2006, 10h52

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