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 :

Compléter les trous d'une requête groupée sur une durée


Sujet :

MS SQL Server

  1. #1
    Membre du Club Avatar de apoingsfermes
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Points : 42
    Points
    42
    Par défaut Compléter les trous d'une requête groupée sur une durée
    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 :
    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
    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.
    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 ?

  2. #2
    Membre du Club Avatar de apoingsfermes
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Correction : il est possible de faire beaucoup de choses avec les reporting services, via les extensions.
    Pour mon problème, il suffit d'écrire une nouvelle extension qui triturera à volonté les données de la base et me présentera un DataSet nickel que j'utiliserai dans le Report Designer. C'est un peu lourd, mais bon...

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut rectification
    Bonjour,

    Citation Envoyé par apoingsfermes
    Pour mon problème, il suffit d'écrire une nouvelle extension qui triturera à volonté les données de la base et me présentera un DataSet nickel que j'utiliserai dans le Report Designer. C'est un peu lourd, mais bon...
    Correction: Pour ton problème, il suffit de te créer une table de dates et de faire une jointure sur cette table

Discussions similaires

  1. Problème sur une requête (GROUP BY)
    Par Le-DOC dans le forum SQL
    Réponses: 5
    Dernier message: 12/04/2012, 16h09
  2. Requête DateTime sur une semaine groupée par jour et par heure
    Par cerealkiller dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/08/2011, 15h54
  3. Pb sur une requête DELETE sur une chaine
    Par astrolane dans le forum Sybase
    Réponses: 4
    Dernier message: 16/02/2009, 09h11
  4. Etat avec une case à cocher sur une requête difficile
    Par marcoO dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 10/01/2007, 14h21
  5. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26

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