Bonjour à tous,
Je fais souvent des requêtes sur des lignes contenant une date.
Ces requêtes doivent typiquement renvoyer des sommes, groupées par mois ou année.
Donc du type :
Bien sûr il y a souvent des trous dans l'échelle de temps : des mois/années pour lesquelles il n'y a pas de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT CAST(DATENAME(yy, matable.madate) + '/' + DATENAME(mm, matable.madate) AS datetime) AS mois, SUM(matable.monNombre) as nb FROM matable GROUP BY CAST(DATENAME(yy, matable.madate) + '/' + DATENAME(mm, matable.madate) AS datetime) ORDER BY mois
D'habitude je bouche les trous via une fonction programmatique qui complète le dataset renvoyé par ma requête.
Est-il possible de le faire directement dans la requête, en considérant que l'échelle de temps est limitée entre deux dates connues ?
(C'est pour utiliser dans les Reporting Services de Microsoft: il ne me paraît pas possible d'utiliser la première méthode dans ce contexte).
Une idée ?
Partager