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 :

Calcul de jour ouvrable


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Calcul de jour ouvrable
    Bonjour à tous,

    Je bloque depuis quelques jours sur une requête SQL assez complexe...
    Je travaille sous SQL Server.

    Voici les tables avec lesquelles je travaille :
    DIM_ABSENCE(ID_CALENDAR,MATRICULE,TPS_ABS,TYPE_ABS)
    DIM_CALENDAR(ID_CALENDAR,LIBELLE_DAY,NB_DAY,LB_MONTH,NB_MONTH,NB_YEAR)

    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT a.ID_CALENDAR,
           MATRICULE,
           CASE WHEN LB_WEEK_DAY NOT IN ('Samedi','Dimanche') THEN 1 ELSE 0 END AS JOURS_OUVRABLE,
           CASE WHEN DATEDIFF(DAY,CONVERT(char(8),CONVERT(int,(LAG(a.ID_CALENDAR) OVER (PARTITION BY MATRICULE ORDER BY a.ID_CALENDAR))),112),CONVERT(char(8),CONVERT(int,a.ID_CALENDAR),112)) !=1
           OR DATEDIFF(DAY,CONVERT(char(8),CONVERT(int,(LAG(a.ID_CALENDAR) OVER (PARTITION BY MATRICULE ORDER BY a.ID_CALENDAR))),112),CONVERT(char(8),CONVERT(int,a.ID_CALENDAR),112)) is null
           THEN 1 ELSE 0 END AS DEBUT_ARRET_MALADIE 
    FROM DIM_ABSENCE  a
    LEFT OUTER JOIN DIM_CALENDAR b on a.ID_CALENDAR = b.ID_CALENDAR
    WHERE ABSENCE_TYPE = 'MALA'
    ORDER BY MATRICULE,ID_CALENDAR
    J'aimerai pouvoir obtenir le nombre jours ouvrables qui se sont écoulés entre chaque arrêt maladie. Tout en sachant que grâce au second CASE, je détermine quand est-ce qu'un nouvel arrêt maladie commence.

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Il faudrait fournir un petit jeu de données.

Discussions similaires

  1. [MCD] calcul des jours ouvrables/année
    Par wikiele dans le forum Schéma
    Réponses: 1
    Dernier message: 04/09/2011, 19h04
  2. [AC-2000] Calcul Nbre jours ouvrables dans une requete
    Par bruno28 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/12/2009, 08h39
  3. [IP-2007] Calcul de jours ouvrables entre 2 dates datepicker
    Par HttpPointCom dans le forum InfoPath
    Réponses: 2
    Dernier message: 22/05/2009, 15h37
  4. [OpenOffice][Tableur] formule de calcul de jours ouvrables (sur 6 jours)
    Par leelou2 dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 23/05/2008, 17h45
  5. Calcul Jours Ouvrables
    Par beurnoir dans le forum Access
    Réponses: 8
    Dernier message: 26/10/2005, 15h53

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