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

MS SQL Server Discussion :

Aide pour SUM et CASE


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Aide pour SUM et CASE
    Bonjour,

    j'ai un casse tête sur lequel je tourne depuis 3 jours en vain:

    je souhaites faire la somme des données que je trouve dans mon CASE, mais ça marche pas.

    sans le SUM, j'ai ça et ça fonctionne il me trouve

    Durée pratique dureefinale
    Durée pratique 0
    Durée pratique 14.00000
    Durée pratique 60.0000

    Moi je cherche

    Durée pratique 74



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
    'Durée pratique', 
    CASE intensite 
    WHEN '1' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 0.4
    WHEN '2' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 0.7
    WHEN '3' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 1
    WHEN '4' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 1.3
    ELSE 0
    END AS dureefinale
    FROM joom_cck_store_form_ma_journe
    WHERE WEEK( datejour ) = WEEK( CURDATE( ) )
    AND membre = %%J_USER_ID%% GROUP BY duree
    j'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
    'Durée pratique', 
    SUM(CASE intensite 
    WHEN '1' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 0.4
    WHEN '2' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 0.7
    WHEN '3' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 1
    WHEN '4' THEN (SUM( TIME_TO_SEC( `duree` ) ) /60) * 1.3
    ELSE 0
    END AS dureefinale) AS sommeduree
    FROM joom_cck_store_form_ma_journe
    WHERE WEEK( datejour ) = WEEK( CURDATE( ) )
    AND membre = %%J_USER_ID%% GROUP BY duree
    * Merci *

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT SUM(macolonne)
    FROM
    (
    SELECT CASE truc
    WHEN '1' THEN 1
    ELSE 2
    END AS macolonne
    )

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    Salut,

    Ton deuxième exemple comporte des SUM en trop. Ceci devrait fonctionner (je n'ai pas de SQL Server sous la main, je n'ai pas testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT 
    'Durée pratique', 
    SUM(CASE intensite 
    WHEN '1' THEN (TIME_TO_SEC( `duree` ) /60) * 0.4
    WHEN '2' THEN (TIME_TO_SEC( `duree` ) /60) * 0.7
    WHEN '3' THEN (TIME_TO_SEC( `duree` ) /60) * 1
    WHEN '4' THEN (TIME_TO_SEC( `duree` ) /60) * 1.3
    ELSE 0
    END) AS sommeduree
    FROM joom_cck_store_form_ma_journe
    WHERE WEEK( datejour ) = WEEK( CURDATE( ) )
    AND membre = %%J_USER_ID%% GROUP BY duree

Discussions similaires

  1. Aide pour un diagramme de uses case de Controle parental
    Par benyouss dans le forum Cas d'utilisation
    Réponses: 4
    Dernier message: 13/06/2015, 13h58
  2. demande d'aide pour requête complexe avec SUM
    Par sibia dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/04/2013, 09h09
  3. [UML] Besoin de votre aide pour un diagramme de uses cases
    Par gountick dans le forum Cas d'utilisation
    Réponses: 11
    Dernier message: 24/02/2012, 09h40
  4. Syntaxe CASE pour SUM
    Par arthuro45 dans le forum Développement
    Réponses: 10
    Dernier message: 14/09/2010, 21h24
  5. Aide pour utiliser une fonction dans un "case"
    Par lcoulon dans le forum Débuter
    Réponses: 2
    Dernier message: 15/10/2009, 22h17

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