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 :

Problème tranche horaire


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème tranche horaire
    Bonjour à tous,

    je me permets de vous solliciter pour un problème.
    Je vous explique, j'ai sur plusieurs heure et date différentes fonctions (Chef de groupe, CDG NRBC ...), je dois calculer un nombre total d'heure effectué toutes fonctions occupées, mais celles ci se chevauche ou ont la même plage horaire exemple :

    -du 07/01/13 08:00:00 au 08/01/13 01:30:00 23h30 effectué en Chef de groupe
    -du 07/01/13 08:00:00 au 12/01/13 11:00:00 123h effectué en CDG NRBC
    -du 08/01/13 04:00:00 au 08/01/13 07:30:00 3h30 effectué en Chef de groupe
    -du 07/01/13 08:00:00 au 12/01/13 11:00:00 123h effectué en CT TRANS

    est il possible avec une requête de détecter les chevauchements et de calculer les heures effectués ?

    Merci.

    PS: Les dates, les heures et le temps effectués varie en fonction de la personne qui effectue les fonctions occupées .

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    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 103
    Points : 28 400
    Points
    28 400
    Par défaut
    Pour vérifier le chevauchement des périodes, tu peux utiliser l'opérateur OVERLAPS.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci pour t'as réponse

    voici ma requête elle donnera peut être une meilleur visibilité :
    désolé par avance pour la mise en page!

    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
    16
    17
    18
    19
    20
    21
    22
    SELECT P.NOM_PERSONNEL+' '+P.PRENOM_PERSONNEL  
           ,C.NOM_CENTRE  
           ,PA.LIBELLE_COURT
           ,CL.DH_DEBUT_SPEC AS 'DH_DEBUT_PLANNING'
           ,CL.DH_FIN_SPEC AS 'DH_FIN_PLANNING'
           ,CASE
                WHEN CAST(DATEDIFF(mi,CL.DH_FIN_SPEC,CL.DH_DEBUT_SPEC)-60*DATEDIFF(hh,CL.DH_FIN_SPEC,CL.DH_DEBUT_SPEC) as varchar)<=-1 THEN CAST(DATEDIFF(mi,CL.DH_DEBUT_SPEC,CL.DH_FIN_SPEC)/60 as varchar)+':'+CAST(DATEDIFF(mi,CL.DH_DEBUT_SPEC,CL.DH_FIN_SPEC)-60*DATEDIFF(hh,CL.DH_DEBUT_SPEC,CL.DH_FIN_SPEC) as varchar)
                ELSE CAST(DATEDIFF(mi,CL.DH_DEBUT_SPEC,CL.DH_FIN_SPEC)/60 as varchar)+':'+CAST(DATEDIFF(mi,CL.DH_FIN_SPEC,CL.DH_DEBUT_SPEC)-60*DATEDIFF(hh,CL.DH_FIN_SPEC,CL.DH_DEBUT_SPEC) as varchar)
            END  AS 'HEURE_DUREE_PLANNING'
           ,(CL.DH_DEBUT_SPEC, CL.DH_FIN_SPEC) OVERLAPS (CL.DH_DEBUT_SPEC,CL.DH_FIN_SPEC) FROM PERSONNEL AS P
    
    INNER JOIN SPECIALISTE AS SP ON P.ID_ANNUAIRE_OPE=SP.ID_ANNUAIRE_OPE 
    INNER JOIN CENTRE AS C ON P.NUMERO_CENTRE=C.NUMERO_CENTRE
    INNER JOIN PLANNINGS_CALENDRIER_SPEC AS CL ON P.MATRICULE=CL.MATRICULE
    INNER JOIN SPECIALITE AS S ON CL.CODE_FCTOCCUPEE=S.NOM_SPECIALITE
    INNER JOIN PLANNINGS_ETAT AS PA ON CL.ETAT=PA.CODE
    
    WHERE CL.DH_DEBUT_SPEC > '01/01/2013 00:00:00'
          and PA.LIBELLE_COURT = 'DPV'
          or PA.LIBELLE_COURT = 'ACU'
          
    ORDER BY CL.DH_DEBUT_SPEC

    en rouge OVERLAPS que je n'utilise certainement pas bien, mon problème est que je ne peux pas mettre les dates et heures à la main , cette requête alimente une table qui sera utilisé plus tard avec BO .

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2014, 13h25
  2. [Vxi3] Problème pour créer des tranches horaires
    Par Laure94 dans le forum Designer
    Réponses: 2
    Dernier message: 11/07/2011, 18h15
  3. Problème de tranche horaire.
    Par jeremie74 dans le forum Requêtes
    Réponses: 3
    Dernier message: 25/07/2006, 16h33
  4. Récupérer des enregistrements par tranche horaire
    Par olive_le_malin dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/05/2006, 16h53
  5. Calcul de tranches horaires
    Par zach dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 02/08/2005, 08h26

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