|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
bonjour,
j'essaye d'avoir la somme de cette requete mais quand j'insère SUM cela renvoie une erreur impossible d’exécuter une fonction d'agrégation sur une expression comportant un agrégat ou une sous requête voila la requête de base Code sql :
erreur obtenu quand je mis SUM Code sql :
|
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Essaye avec ceci :
Code :
SELECT SUM(dbo.etat_engagement.montant_engager + ISNULL(dbo.modification_engager.montant, 0)) AS somme_engager |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
dsl mais c'est pas ce que je cherche
il ya plusieurs montant modifié pour un montant engager c'est pour cela je calcule le montant engagée + la somme des montant modifié ma requête est déjà bien sauf j'aimerai avoir une seul montant la sum de tous |
|
|
00
|
|
|
#4 | ||||
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
Tu dois faire une sous requete, si tu es est 2005 ou plus tu peux faire :
Code :
Code :
A+ |
||||
|
|
00
|
|
|
#5 | |||
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
Citation:
pour Code sql :
NOT (dbo.etat_engagement.n_certification LIKE '')) |
|||
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() ![]() Inscription : juillet 2006 Messages : 1 194 ![]() |
zinzineti vous a donné la solution.
Elle implique que vous supprimiez la clause "GROUP BY" si cela vous avait échappé. |
|
|
00
|
|
|
#7 | |
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
Citation:
A+ |
|
|
|
00
|
|
|
#8 | ||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour,
Vous pouvez aussi faire comme ceci : Code SQL :
ou encore Code SQL :
|
||||
|
|
00
|
|
|
#9 | |||
|
Membre chevronné
![]() ![]() Inscription : juillet 2006 Messages : 1 194 ![]() |
Citation:
Pour m'excuser voici une façon poilante (...) de résoudre votre problème sans sous query : Code :
|
|||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
Arf, alors celle là, je comprends même pas la requete.
Mais je vais me documenter sur le over dans un sum..... |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
merci pour votre réponse
pour la solution de aieeeuuuuu & Sergejack je peut pas l'utilisée parceque sqlserver 2005 express pris pas en charge l'instruction CROSS APPLY | OVER pour la réponse de Batou69 erreur dbo.modification_CTE non valide |
|
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
|
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
![]() sauf erreur de ma part (ou exception de la version Exrpress ?), la version 2005 prend bien en charge le CROSS APPLY, tout comme les fonctions de fentrage... Etes vous sur de la version ? quel est le message d'erreur que vous avez ? sinon, avez vous essayé ma première requête, qui n'utilise pas le CROSS APPLY ? |
|
|
|
00
|
|
|
#14 | |
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
Citation:
mais moi je cherche la somme de tous est pour la deuxième quand j’exécute pour la première fois j'ai l erreur : La construction ou l'instruction SQL CROSS APPLY n'est pas prise en charge. est après l'identificateur en plusieurs parties somme.montant ne peut pas être lié |
|
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
|
|
|
00
|
|
|
#16 | |||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
Un petit jeu de données + resultat attendu serait sans doute plus clair... est-ce ceci que vous voulez ? Code SQL :
|
|||
|
|
00
|
|
|
#17 | ||
|
Nouveau Membre du Club
![]() jalal zaime Inscription : novembre 2010 Messages : 141 ![]() |
ma requête de base
Code sql :
20000 => contient (montant engagée + sum modification du monatn engagée) 15000 22222 . . . ce que je veut 20000 15000 22222 . . . 75222 la somme de tous |
||
|
|
00
|
|
|
#18 | |||
|
Membre Expert
![]() |
Citation:
Code :
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|||
|
|
00
|
|
|
#19 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
donc vous voulez une ligne supplémentaire qui fait la somme de tous ?
Code SQL :
La ligne ou etat_engagement.id2 est NULL, c'est le total |
||
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() |
Je préfère ma mienne NAH
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com