Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2036 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide sur SQL concernant des dates/durées

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide sur SQL concernant des dates/durées

n°1405290
440LVB
Posté le 12-07-2006 à 10:24:18  profilanswer
 

Bonjour tout le monde
 
Je galère sur un problème qui me paraît relativement simple, mais que je dois resoudre en urgence.
[edit] SGBD => MySQL
 
Voila, j'ai une table qui contient un TIMESTAMP debut_periode et un TIMESTAMP fin_periode.
 
dans cette table, des debuts et des fins sur plusieurs années.
 
Le but est d'afficher le cumul des durées entre debut_periode et fin_periode pour chaque mois => 2005/janvier/x heures, 2005/fevrier/y heures etc
 
Voila la methode que je veux utiliser :
 
On extrait les dates plus recente et plus ancienne avec LEAST et GREATEST sur incidents.debut et incidents.fin
 
Une idée sur comment remplir une table (requete, fonction??) ?
 

Code :
  1. CREATE TABLE calendrier (
  2.     date TIMESTAMP NOT NULL,
  3.     site INTEGER REFERENCES sites(id) NOT NULL,
  4.     cumul_indispo integer,
  5.     PRIMARY KEY(date,site),
  6. );

 
 
avec dedans tous les mois entre les deux (genre un TIMESTAMP mois.date avec '01/mm/aaaa 00:00' pour chaque mois et la somme des (mois.date, INTERVAL '1' MONTH) OVERLAPS (incidents.debut, incidents.fin)  
 
Merci de toute aide
 
[edit] modification de la table présentée


Message édité par 440LVB le 17-07-2006 à 10:26:07
mood
Publicité
Posté le 12-07-2006 à 10:24:18  profilanswer
 

n°1406266
betsamee
Asterisk Zeperyl
Posté le 13-07-2006 à 12:30:12  profilanswer
 

peux tu donner un exemple d'enregistrement de la premiere table stp?

n°1407871
440LVB
Posté le 17-07-2006 à 10:33:45  profilanswer
 

betsamee a écrit :

peux tu donner un exemple d'enregistrement de la premiere table stp?


 
la premiere table est de la forme :

Code :
  1. CREATE TABLE incidents (
  2.     id                       SERIAL PRIMARY KEY,
  3.     debut_periode      TIMESTAMP,
  4.     fin_periode          TIMESTAMP,
  5.     site                    INTEGER REFERENCES sites(id)
  6. );


Avec d'autres clés non pertinentes.
 
la table est remplie avec deux TIMESTAMP dont debut_periode inférieur à fin_periode.
 
Le but étant a la fin de créer une vue qui donnera a peu près ca :
http://img91.imageshack.us/img91/2919/vuetablebl5.th.jpg


Message édité par 440LVB le 17-07-2006 à 11:00:41
n°1407946
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-07-2006 à 11:38:26  profilanswer
 

pour en revenir à ton truc.
 
tu peux récupérer sans aucun problème (quelques fonctions de formattage de dates, et quelques regroupements) les infos pour les mois ayant des infos.
pour les autres mois, t'as aucun moyen simple, ni propre de les avoir. c'est à ton code de haut niveau de gérer ça, pas au sgbd


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide sur SQL concernant des dates/durées

 

Sujets relatifs
BLITZ3D: demande d'aide pour fonctionnalités[Hibernate ] récup requête SQL texte auto générée
Requete SQL problématiqueBesoin d'aide pour job d'été !!
[SQL]inserer un champs dans une tableBesoin d'aide pour modif d'un .reg
Besoin de conseils pour organisation SQL[SHELL BATCH] Aide sur traitement de fichier de log
Demande d'aide pour configurer FCK editor ![Flash] aide mettre des boutons dans une image
Plus de sujets relatifs à : Aide sur SQL concernant des dates/durées


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR