|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité régulier
![]() Inscription : mars 2009 Messages : 25 ![]() |
Bonjour, en ayant récupérer des données concernant le montant facturé selon un type de charge sur un cycle de facturation, j'ai obtenu le bon résultat. Mais en analysant la liste retournée, j'ai trouvé des lignes pour un même type de charge qui se repete avec un montant bien sur différent et sur la même période de facturation. Cela est normal car la période de facturation (jour de facturation ) est différent, or moi je récupère le cycle par mois de facturation.
Comment je peux regrouper ces lignes pour un même type de charge ? Ma requête est la suivante : Citation:
Donc je ne sais pas q'il y'a une autre idée ? Merci pour l'aide ! |
|
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
Si j'ai bien compris votre probleme, il vous suffit de grouper également sur le mois (sans tenir compte du jour) donc en fait de grouper sur la troisième colonne de votre resultat : Code SQL :
|
||
|
|
00
|
|
|
#3 | |||||
|
Invité régulier
![]() Inscription : mars 2009 Messages : 25 ![]() |
Citation:
BOnjour, merci pour votre proposition. J'ai donc ajouté la ligne au niveau du group by mais j'ai toujours le même problème. Pour plus de détails, voilà le résultat obtenu (Je n'affiche plus la date entière de facturation): Code :
Pour la période de Juin 2009 ligne 2 et 7 type charge OCC il faudrait qu'il me fasse la somme des montants. Idem pour ligne 5 et 6. J'ai ce même problème sur plsuieurs période |
|||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
en effet !
je suis allé un peu vite en besogne, et je n'ai pas fait attention à la colonne reprenant la date entière. il faut donc retirer cette colonne de la liste du SELECT (ce que vous avez fait), mais également du GROUP BY ! Code SQL :
|
||
|
|
00
|
|
|
#5 | |||
|
Invité régulier
![]() Inscription : mars 2009 Messages : 25 ![]() |
Citation:
J'ai déjà testé celà ! Je suis sous sql server 2005 et voilà l'erreur qu'il me donne : La colonne "dbo.ABI_FCT_FACTURE.FAC_DATE_FIN_PERIODE_FACTURATION" n'est pas valide dans la clause ORDER BY parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY. Il faut donc enlever l'order BY, or moi je le garde afin d'avoir la chronologie des évènements par date , et c'est plus facile de vérifier avec ! Je vais quand même regrouper manuellement histoire de vérifier si le regroupement a été fait ! |
|||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
décidément !
je ne l'avais pas vu non plus celui-là vous pouvez aussi ordonner les résultats selon le mois et l'année : |
|
|
00
|
|
|
#7 | |
|
Invité régulier
![]() Inscription : mars 2009 Messages : 25 ![]() |
Citation:
Si je mets l'alias au niveau de l'order by, j'aurai un tri certes, mais un tri alphabétique selon le mois, et donc je n'y gagne rien. Ce que je souhaiterai garder c bien l'enchaînement réelle des facturation par ordre mensuelle de l'année considérée. Je vais mettre la discussion en résolue , le temps de trouver une alternative pour le tri. Vraiment merci ! |
|
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
arfff, à force de rater, on va bien finir par réussir
votre méthode pour calculer le mois est de toute façon perfectible. Souhaitez vous absolument garder ce format ? Vous pouvez trouver facilement le 1er du mois (au format date) en faisant ceci : Code SQL :
ce sera peut être un peu plus performant, et comme vous gardez le format date, le tri s'effectue correctement. |
||
|
|
00
|
|
|
#9 | |||
|
Invité régulier
![]() Inscription : mars 2009 Messages : 25 ![]() |
Citation:
D'autant plus, que les graphiques seront construits à l'aide de SSRS (que je ne connais pas pour le moment), donc il sera difficile de changer la mise en forme manuellement (Au sens d'une utilisation à l'aide de Microsoft Excel, ce qui ne sera pas le cas) Car il n'accepte vraiment pas qu'on mette un champ dans ORDER BY sans l'avoir mis dans le GROUP BY. |
|||
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Inscription : mars 2009 Messages : 25 ![]() |
C'est bon le problème est résolue !
Dans la clause order by, j'ai mis ça : Code :
Je peux donc garder le formatage de la date tel qu'il est ! |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com