Aide sur SQL concernant des dates/durées

Aide sur SQL concernant des dates/durées - SQL/NoSQL - Programmation

Marsh Posté le 12-07-2006 à 10:24:18    

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
Reply

Marsh Posté le 12-07-2006 à 10:24:18   

Reply

Marsh Posté le 13-07-2006 à 12:30:12    

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

Reply

Marsh Posté le 17-07-2006 à 10:33:45    

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
Reply

Marsh Posté le 17-07-2006 à 11:38:26    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed