|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 2 ![]() |
Bonjour,
Après une recherche infrutueuse, je viens exposer mon problème. J'ai une table enregistrant l'arrivée et le départ de participants à des activités. La table contient une dizaine de champs dont : - DATEIN date au format "dd/mm/yyyy" - HOURIN heure d'arrivée "HH:MM" - HOUROUT heure de sortie "HH:MM". Je dois sortir des statistiques d'occupation par tranche de 15 minutes. Cela signifie qu'un participant arrivé à 09:45 et sorti à 11:00 doit être repris dans les 5 tranches horaire (09:46>10:00 - 10:01>10:15 - 10:16>10:30 - 10:31>10:45 - 10:46>11:00). Je pensais avoir trouvé mon bonheur dans cette discussion malheureusement c'est pour une base Oracle et je ne sais pas traduire le code pour SQL. Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Code :
Par contre, ça utilise des dates au format datetime, ça ne prend pas en charge les formats exotiques qui compliquent l'existence.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 2 ![]() |
Merci pour cette fonction qui je l'avoue ne pas pas résoudre mon problème à 100% puisque je n'ai pas de format datetime sur les champs !
Par contre cela m'a mis sur la voie pour solutionner mon problème. Comme je souhaitais avoir pour une date donnée le nombre de participants par plage horaire, j'ai créé une table avec les plages souhaitées et je compare les HOURIN - HOUROUT avec les valeurs de cette table. Cela tourne à merveille avec un petit bémol : je suis contraint pour que cela tourne tous les jours d'avoir des plages qui certains jours ne sont jamais utilisées. Mais j'ai une solution avec cette requête : SELECT h.min_time, h.max_time, k.datein, count(*) AS nb_lignes FROM SM_HOURSRANGS h JOIN SM_PARTICIPANTS k ON k.hourin <= h.max_time AND k.hourout > h.min_time WHERE k.datein = '29/12/2010' GROUP BY k.datein, h.min_time, h.max_time ORDER BY k.datein, h.min_time C'est peut-être une voie détournée pour solutionner mon besoin ... Si quelqu'un a une autre solution, je suis ouvert ! |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Citation:
Il faut vivre avec ensuite! Bon courage.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com