Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    octobre 2006
    Messages
    545
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 545
    Points : 13
    Points
    13

    Par défaut Requete sur une date /semaine

    Bonjour à tous,


    Environnement : SQL SERVER 2000 (sp4). (windows 2003)

    J'ai une table qui comprend ces informations:

    Champs: Année| Semaine|Jour de la semaine| total heure
    Exemple:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    2012	31	1	5.50
    2012	31	2	5.50
    2012	31	3	5.50
    2012	31	4	5.50
    2012	31	5	4.00
    2012	32	1	5.50
    2012	32	2	5.50
    2012	32	3	5.50
    2012	32	4	5.50
    2012	32	5	4.00
    2012	33	1	5.50
    2012	33	2	5.50
    2012	33	3	5.50
    2012	33	4	5.50
    2012	33	5	4.00
    2012	34	1	5.50
    2012	34	2	5.50
    2012	34	3	5.50
    2012	34	4	5.50
    2012	34	5	4.00
    2012	35	1	5.50
    2012	35	2	5.50
    2012	35	3	5.50
    2012	35	4	5.50
    2012	35	5	4.00
    Au niveau de ma requête je voudrait récupérer le total d'heure entre le 1 aout 2012 et 31 aout 2012.

    Comment je doit m'y prendre?

    Merci d'avance pour vos explication et votre aide

    guigui69

  2. #2
    Expert Confirmé Avatar de iberserk
    Homme Profil pro Bruno IGNACE
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 578
    Détails du profil
    Informations personnelles :
    Nom : Homme Bruno IGNACE
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 578
    Points : 2 579
    Points
    2 579

    Par défaut

    Ajoutez une colonne avec la date!

    Code :
    1
    2
    3
    SELECT SUM([total heure]) AS TotalHeure
    FROM TATABLE
    WHERE MADATE BETWEEN '20120801' AND '20120831'
    Ou alors précisez nous la règle utilisée pour le premier jour de la première semaine de l'année...
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    octobre 2006
    Messages
    545
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 545
    Points : 13
    Points
    13

    Par défaut

    Bonjour et merci pour votre réponse.

    Ma table est composé de ceci:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Champs:
     
     Année| Semaine|Jour de la semaine| total heure
     
    2012	31	1	5.50
    2012	31	2	5.50
    2012	31	3	5.50
    2012	31	4	5.50
    2012	31	5	4.00
    2012	32	1	5.50
    2012	32	2	5.50
    2012	32	3	5.50
    2012	32	4	5.50
    2012	32	5	4.00
    2012	33	1	5.50
    2012	33	2	5.50
    2012	33	3	5.50
    2012	33	4	5.50
    2012	33	5	4.00
    2012	34	1	5.50
    2012	34	2	5.50
    2012	34	3	5.50
    2012	34	4	5.50
    2012	34	5	4.00
    2012	35	1	5.50
    2012	35	2	5.50
    2012	35	3	5.50
    2012	35	4	5.50
    2012	35	5	4.00
    Le jour dans la table correspond à 1 => Lundi 2 => Mardi etc...

    et je voudrait qu'en fonction de la date (du 1/08/2012 au 31/08/2012) cela me retourne la somme. heure

  4. #4
    Membre Expert
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    juillet 2006
    Messages
    2 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 648
    Points : 2 213
    Points
    2 213

    Par défaut

    Pour paraphraser iberserk, comment voulez-vous qu'on puisse calculer cela si on ne sait pas à quelle date correspond semaine = 1 et jour = 1 ?
    Kropernic (anciennement Griftou).

  5. #5
    Membre Expert
    Homme Profil pro Sylvain Devidal
    Chef de projets Générix
    Inscrit en
    février 2010
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain Devidal
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets Générix
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 1 573
    Points : 2 129
    Points
    2 129

    Par défaut

    Et en quoi on sait pas à quoi correspond le 3ème jour de la semaine 25 de l'année 2011 ?

    On peut très simplement convertir cette information en date !

    En revanche, la création d'une colonne calculée et persistante ne sera certainement pas un luxe en ce qui concerne les performances !

  6. #6
    Expert Confirmé Avatar de iberserk
    Homme Profil pro Bruno IGNACE
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 578
    Détails du profil
    Informations personnelles :
    Nom : Homme Bruno IGNACE
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 578
    Points : 2 579
    Points
    2 579

    Par défaut

    Et en quoi on sait pas à quoi correspond le 3ème jour de la semaine 25 de l'année 2011 ?
    Tout dépend de l'algorithme utilisé pour alimenter les numéro de semaine...
    Cette remarque montre à quel point vous n'avez jamais été confronté au problème...

    norme ISO 8601ou grégorien?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  7. #7
    Membre Expert
    Homme Profil pro Sylvain Devidal
    Chef de projets Générix
    Inscrit en
    février 2010
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain Devidal
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets Générix
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 1 573
    Points : 2 129
    Points
    2 129

    Par défaut

    Ben c'est la même chose quand on stocke n'importe quelle information...

    Il faut décider proprement du format utilisé pour l'enregistrement et la lecture.

    Stocker des numéros de semaine et des jours ne me choque pas si pour la lecture on utilise ces segments pour faire les requêtes.

    Même si en effet il serait préférable de stocker la date, et avoir des colonnes calculées persistantes année, semaine et jour, plutôt que l'inverse.

  8. #8
    Candidat au titre de Membre du Club
    Inscrit en
    octobre 2006
    Messages
    545
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 545
    Points : 13
    Points
    13

    Par défaut

    Bonjour et merci pour vos réponses,

    Je regarde ça lundi pour avoir le début année.

    Merci

    guigui69

  9. #9
    Candidat au titre de Membre du Club
    Inscrit en
    octobre 2006
    Messages
    545
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 545
    Points : 13
    Points
    13

    Par défaut

    Bonjour à tous,

    je reviens sur mon sujet concernant ma demande. (Je n'ai pas pu me remettre sur cette élément avant)

    Voici comment le calendrier est géré:
    Cette table contient les calendriers (de 1 à n par année) des jours ouvrés, fériés et les heures d’ouverture par jour.
    Elle enregistre les heures théoriques
    ID = no d’enregistrement / clef unique
    Ano = année concernée
    Semaine = no de la semaine. La norme ISO (je ne sais plus exactement (8601 je crois !)) dit que la semaine no 1 d’une année est celle qui contient le premier jeudi de l’année.
    Jour de la semaine = 1 pour lundi, 2 pour mardi, …
    Merci d'avance pour vos explications

    guigui69

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •