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

Langage SQL Discussion :

Requête chronologique consolidée


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2006
    Messages : 133
    Points : 90
    Points
    90
    Par défaut Requête chronologique consolidée
    Bonjour,
    Je suis face à une problématique d'obtention d'un graphique de type histogramme chronologique.
    J'ai une base de pointage du type, une personne travaille sur tel projet de tel heure à tel heure.
    Projet, Personne, Date début, heure début, Date fin, heure fin, observation

    Je voudrais sortir un graphique groupé et filtré par projet, groupé par personne, et découpé par créneau horaire définis pouvant différé de celui de ma base, ici la journée.
    Nom : graph.jpg
Affichages : 164
Taille : 63,8 Ko
    Sachant que j'aimerais comme ici dans la capture, avoir des semaines de 5 jours, bien mettre les jour vides, ainsi que laissé la possibilité d'ajouter samedi et/ou dimanche.

    Il faudrait donc avoir simplement en sortie requête, mais consolidé suivant une trame chronologique particulière :
    Tranche 1, Personne, observation

    Je suis à l'écoute de n'importe quelle idée

    Merci !

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Ajoutez une table calendrier contenant vos dates avec le pas voulu.
    A partir de cette table, la requete sera bien plus simple à écrire.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2006
    Messages : 133
    Points : 90
    Points
    90
    Par défaut
    Je n'avais pas précisé mais je n'ai pas possibilité de créer des tables.
    Par contre je peux faire une table temporaire directement dans le requête.

    Mais par contre je ne vois pas du tout comment la former, et encore moi comment m'en servir par la suite :S

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Quelle est la structure de ta table ?
    Quelles requêtes as-tu déjà essayées ?
    Quel problème as-tu rencontré ? Un message d'erreur ? Des valeurs erronées ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2006
    Messages : 133
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    Comme indiqué dans mon premier post, la structure de ma table de base est la suivante :
    Projet, Personne, Date début, heure début, Date fin, heure fin, observation

    Je n'ai testé aucune requête, car je ne vois pas du tout comment m'y prendre ...

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    de quel SGBD s'agit t-il ? y a t-il la possibilité de créer une procédure ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2006
    Messages : 133
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    C'est une base HFSQL en mode client/serveur.
    Je souhaitais faire le graphique sur Excel à travers un connecteur ODBC.
    Donc a priori je ne suis pas sur que cela soit possible de créer une procédure.

    Par contre si vous avez un outil open source de création de graphique pouvant se connecter à HFSQL, je suis preneur

    Merci,

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Voici un exemple de création d'une CTE pour obtenir n dates à partir de la date du jour
    Exemple fait sur IBM/DB2 for Z/OS à adapter à votre SGBD (que je ne connais pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       WITH CTE1 (VALSEQ, VALDAT) AS           
           (SELECT 0                           
                  ,CURRENT_DATE                
            FROM  SYSIBM.SYSDUMMY1             
            UNION ALL                          
            SELECT VALSEQ+1                    
                  ,DATE(VALDAT)+1 DAYS         
            FROM  CTE1                         
            WHERE VALSEQ < 30)                 
       SELECT * FROM CTE1                      
     ;
    Ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    VALSEQ VALDAT     
         0 2016-02-19 
         1 2016-02-20 
         2 2016-02-21 
         3 2016-02-22 
         4 2016-02-23 
         5 2016-02-24 
         6 2016-02-25 
         7 2016-02-26 
         8 2016-02-27 
    [. . .]
        29 2016-03-19
        30 2016-03-20
    Après il vous reste à faire une jointure OUTER entre cette CTE et votre table

  9. #9
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juillet 2006
    Messages : 133
    Points : 90
    Points
    90
    Par défaut
    Merci pour cette exemple concret, qui aurait pu me permettre de résoudre mon problème si et seulement si mon SGBD acceptait les CTE.
    Malheureusement après mes essais et recherches, il ne les accepte pas Snif

Discussions similaires

  1. Requête UPDATE pour consolider 6M lignes
    Par fanfouer dans le forum Requêtes
    Réponses: 9
    Dernier message: 13/10/2012, 19h23
  2. Requête pour série chronologique.
    Par mondaying dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/02/2010, 16h36
  3. Réponses: 2
    Dernier message: 09/11/2006, 07h37
  4. [Access] Requête de consolidation
    Par MITCH31 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/02/2006, 14h04
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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