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

Développement SQL Server Discussion :

Trouver le bon horaire [2014]


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut Trouver le bon horaire
    Bonjour,

    Je ne parviens pas à selectionner le bon horaire avec une simple requête (même avec une compliquée d'ailleurs )..
    j'explique.. J'ai une table contenant tous les jours de la semaine, une équipe, horaire de début de poste et horaire de fin de poste.

    JOUR-----EQ------Début de poste----Fin de poste
    Lundi-----M-------06:00:00---------13:29:59
    Lundi-----AM-----13:30:00---------20:59:59
    Lundi-----N-------21:00:00---------05:59:59

    Avec mon SELECT et l'heure actuelle de la machine j'aimerai obtenir la ligne qui va bien.

    Tant que l'heure actuelle se situe en journée ca se passe bien, mais dés que qu'il est plus de 21:00:00, je n'ai plus de résultat..

    ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     declare @heure datetime set @heure = '21:00:00'
     select * from  [dbo].[OEE_Horaire_Production] 
     where HOR_SITE = 1
     and hor_jour_sem = DATENAME(weekday,getdate())
     and convert(varchar, HOR_DEBUT_POSTE, 108) <= @heure  and convert(varchar, HOR_FIN_POSTE, 108) >= @heure
    Qui a une idée ?
    Merci pour votre aide..

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 316
    Points : 146
    Points
    146
    Par défaut
    Ma solution...
    Dites moi si vous avez mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     declare @heure datetime set @heure = '21:00:00'
    select * from
           (select * 
           from  [dbo].[OEE_Horaire_Production] 
                 where hor_jour_sem = DATENAME(weekday,getdate())  and HOR_DEBUT_POSTE <= @heure               
                 or            
                 hor_jour_sem = DATENAME(weekday,getdate())  and HOR_FIN_POSTE >= dateadd(day,1,@heure)              
                 ) vue
           where vue.HOR_DEBUT_POSTE >= @heure or HOR_FIN_POSTE >= @heure )

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Pour moi il y a un défaut de modélisation.
    Dans chaque ligne, tu as un jour de la semaine, une heure de début et une heure de fin.
    Donc dans ton exemple, pour la dernière ligne, l'équipe a commencé sa journée lundi à 21H00, pour la finir lundi à 05H59.
    Tu devrais utiliser un timestamp pour le début et la fin, ainsi tu définis une vrai plage horaire, et la recherche devient bien plus facile (un simple between).
    Tu peux même ajouter une contrainte, pour qu'une équipe termine bien après avoir commencé...

    Tatayo.

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

Discussions similaires

  1. Reprise de données - Trouver le bon format
    Par cladsam dans le forum SAP
    Réponses: 6
    Dernier message: 20/04/2010, 16h51
  2. Trouver le bon sac
    Par Aitone dans le forum Enigmes
    Réponses: 9
    Dernier message: 06/12/2006, 14h44
  3. Trouver le bon port série
    Par RR instinct dans le forum C++
    Réponses: 1
    Dernier message: 27/11/2006, 18h22
  4. [CGI] Trouver des bons cours
    Par Artusamak dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2006, 18h51
  5. trouver le bon SELECT
    Par bibile dans le forum Débuter
    Réponses: 3
    Dernier message: 27/07/2006, 19h45

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