Faire une somme dans un select

Résolu
rudra117
Messages postés
1099
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
15 janvier 2016
- Modifié par rudra117 le 5/11/2015 à 07:59
Whismeril
Messages postés
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
- 30 oct. 2021 à 09:57
Bonjour,
je cherche a pouvoir faire une somme dasn un tableau que je cree dans la meme Query. Il faut reussir a faire la somme de toutes les valeurs d'une colomne x quand les lignes ont la meme valeur sur une autre colomne y.
Apres ma requete j'ai ca comme reponse
mois       vente
01             20
02             10
02             40
03              5
03             30
03              3


il faut que j'aditionne toutes les ventes du meme mois:
voila ce qu'il me faut
mois       vente
01             20
02             50
03             38

voila le code que j'ai :

DECLARE @Name varchar = 'Neo';
DECLARE @Year int = YEAR(GETDATE());
 SELECT MONTH(ApprovedStartDate) AS Months, SUM(ApprovedDays) AS Leaves
 FROM vw_LeaveAllDetails 
 WHERE YEAR(ApprovedStartDate) = @Year AND FullName LIKE '%'+@Name+'%'
 GROUP BY ApprovedStartDate


merci de me dire comment proceder pour avoir la somme selon les mois.
merci

3 réponses

rudra117
Messages postés
1099
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
15 janvier 2016
1
5 nov. 2015 à 19:50
non c'est bon j'ai trouvé une parade. ;)
merci quand meme :)
1
jordane45
Messages postés
35484
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 mai 2022
356
6 nov. 2015 à 00:44
Une "parade" ??

Quoi qu'il en soit, histoire que sa puisse servir à d'autres visiteurs du forum.... merci
1 - D'indiquer la solution à ton souci
2 - De penser à mettre la question en résolue.

Merci.

@++
0
jordane45
Messages postés
35484
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 mai 2022
356
Modifié par jordane45 le 5/11/2015 à 10:28
Bonjour
Utilises la
fonction SUM (colonne)

Et un group by sur ta colonne Mois

Cordialement,
Jordane
0
rudra117
Messages postés
1099
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
15 janvier 2016
1
5 nov. 2015 à 10:35
C'est ce que j'ai voulu faire mais il faut que j'execute le SUM sur le resultat de ma 1ere requete.
il faut que j'arrive a la stocker dans une table temporaire(ttemp) et faire la somme sur ttemp. Et je ne vois pas comment stocker la reponse de ma 1ere requite dans une table temporaire.
s'il y a moyen de faire ca avec des sous requetes ou autre techniques je suis partant.
0
jordane45
Messages postés
35484
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 mai 2022
356
5 nov. 2015 à 19:29
Au pire tu pourrais faire ça ...

SELECT T.Months
             ,SUM(T.Leaves) as SOMME
FROM
(
  SELECT MONTH(ApprovedStartDate) AS Months
              , SUM(ApprovedDays) AS Leaves
   FROM vw_LeaveAllDetails 
   WHERE YEAR(ApprovedStartDate) = @Year 
        AND FullName LIKE '%'+@Name+'%'
 GROUP BY ApprovedStartDate
)T
GROUP BY T.Months


Mais à mon avis ... sans Sous-requête ... tu pourrais y arriver directement...
Un truc du genre :
 SELECT MONTH(ApprovedStartDate) AS Months
              , SUM(ApprovedDays) AS Leaves
   FROM vw_LeaveAllDetails 
   WHERE YEAR(ApprovedStartDate) = @Year 
        AND FullName LIKE '%'+@Name+'%'
 GROUP BY MONTH(ApprovedStartDate) 
0
Alors où la somme sera affiché dans le programme ?
0
Whismeril
Messages postés
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
596
30 oct. 2021 à 09:57
BONJOUR JOSEPH
Si si on apprécie grandement que celui qui vient ici soit un peu poli…

La question initiale concerne une requête sql, et non un programme en soit.
Le sql permet de « dialoguer » avec une base de données depuis un programme dans pleins de langages différents.

La façon dont le résultat d’une requête sql est affichée dans un programme dépend du langage utilisé, du choix du type d’interface, de la façon dont ça a été codé etc…..

Bref, c’est complètement hors contexte de cette question.

Ce que tu peux faire, c’est ouvrir un sujet à toi, dans le forum qui correspond à ton langage, sans oublier de dire bonjour et en postant toutes les informations nécessaires pour quelqu’un à l’autre bout du monde puisse essayer de t’aider. Pour poster du code utilise la coloration syntaxique voir ici https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0