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 :

[COUNT] Nombre de rendez-vous d'un planning par demi-journée


Sujet :

Langage SQL

  1. #1
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut [COUNT] Nombre de rendez-vous d'un planning par demi-journée
    J'aimerai récupérer le nombre de rendez-vous d'un planning par demi-journée et effectuer le tout avec une requête SQL (sinon, il n'y a pas de souci en récupérant les données brutes et en faisant le traitement en dehors de la requête).

    Données
    TABLE : T_PLANNING
    PL_JOUR VARCHAR
    PL_HEUREDEBUT VARCHAR
    PL_HEUREFIN VARCHAR
    Pour récupérer le nombre de rendez-vous par journée, je n'ai pas de souci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) as NBRDV, PL_JOUR FROM T_PLANNING GROUP BY PL_JOUR
    Maintenant pour récupérer le nombre de rdv par demi-journée (donc en testant par rapport à PL_HEUREFIN < 14:00 et PL_HEUREDEBUT > 14:00 mon milieu de journée étant à 14:00), je ne vois pas trop comment faire (si cela est déjà réalisable).


  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Question classique !
    Il faut utiliser SUM et CASE.
    L'idée est d'attribuer la valeur 1 à chaque cas (<= 14h ou > 14h) et d'additionner les 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT PL_JOUR,
        SUM (
            CASE
                WHEN PL_HEUREFIN < '14:00:00' THEN 1
                ELSE 0
            END
        ) AS NB_AVANT_14_HEURES,
        SUM (
            CASE
                WHEN PL_HEUREDEBUT >= '14:00:00' THEN 1
                ELSE 0
            END
        ) AS NB_APRES_14_HEURES
    FROM T_PLANNING
    GROUP BY PL_JOUR
    Remarques :
    1) Comme dans ta première requête, si un jour n'a pas de rendez-vous, il n'apparaîtra pas. Il faudrait pour cela modéliser un calendrier et faire une jointure avec celui-ci.
    2) Du fait des conditions que tu as données, si un rendez-vous commence à 13h et finit à 15h, il ne sera pas compté non plus !

  3. #3
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Super, cela fonctionne parfaitement.
    Merci pour cette réponse complète.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD18] Répétition d'un rendez-vous champ planning
    Par Jordywolf dans le forum WinDev
    Réponses: 6
    Dernier message: 31/03/2015, 14h22
  2. Nombre de rendez-vous entre 2 dates?
    Par Gdal dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 14/02/2015, 11h12
  3. Réponses: 9
    Dernier message: 13/12/2013, 09h55
  4. Conception d'une gestion de planning et de rendez vous
    Par Ya7yaKech dans le forum Schéma
    Réponses: 3
    Dernier message: 08/04/2009, 10h49
  5. Rendez-vous Outlook depuis Access
    Par pascal@falcy.ch dans le forum Access
    Réponses: 4
    Dernier message: 03/10/2005, 21h59

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