|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Bonjour,
J'ai une table de la forme : Code :
ID_EVE,ID_GROUP,ID_ACT_INI,ID_ACT_DST,DATE_DEBUT_EV,DATE_FIN_EV J'ai une seconde table de la forme Code :
ID_EVE DATE_DEBUT_PAUSE DATE_FIN_PAUSE Code :
DATE_DEBUT_EV < DATE_DEBUT_PAUSE < DATE_FIN_PAUSE < DATE_FIN_EV Code :
J'aimerais obtenir le résultat suivant : Code :
Merci pour votre aide |
||||
|
|
00
|
|
|
#2 |
![]() ![]() |
Qu'avez-vous essayé comme requête ?
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Je traite actuellement par programme java et je souhaite tout faire dans une procédure stockée plus optimisée.
Je n'ai aucune idée sur la manière de procéder et le premier point est de savoir s'il est possible de le faire. Cordialement |
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Une solution, j'ai supprimé du jeu de test les colonnes non essentielles :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() Grégoire MARTINIngénieur développement logiciels Inscription : janvier 2011 Messages : 128 ![]() |
En fait tu veux ressortir toutes les périodes d'activités ?
En PL : Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#6 | ||
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Bonjour,
c'est en effet le but recherché ORA-007. Je teste avec l'ensemble des données nécessaires, car je dois calculer le temps d'activité par évènement et par action. Je regarde comment adapter votre solution. Pour Waldar, la requête ne donne pas le résultat attendu : Code :
Merci pour vos réponses |
||
|
|
00
|
|
|
#7 | ||
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
J'ai adapté votre requête Waldar. La simplification faite sur l'action ne permettait pas d'avoir le résultat. Voici donc la requête :
Voici la requête donnant les infos souhaitées : Code :
|
||
|
|
00
|
|
|
#8 |
![]() ![]() |
Votre jeu de test est faux.
Vous avez mis le même id_eve pour deux événements différents. Je maintiens donc ma solution.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#9 | ||||
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Le fonctionnement est bien celui-là, et en regardant plus avant dans les données, je trouve des choses comme cela
Code :
id_eve n'est pas unique dans la table, il existe un autre champ pour clé En reprenant votre solution initiale, je n'arrive pas à la solution attendue. Code :
|
||||
|
|
00
|
|
|
#10 |
![]() ![]() |
Merci de communiquer un petit jeu de données réelles, dans votre dernier message vos données initiales n'ont ni queue ni tête.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#11 | ||
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Bonjour,
voici un jeu de données pour un évènement Code :
Merci de attention |
||
|
|
00
|
|
|
#12 |
![]() ![]() |
D'accord, en fait par événement les périodes doivent être toujours complètement décrites ?
Sur ce jeu de test, est-ce bien le résultat suivant que vous souhaitez obtenir ? ID_EVE ID_ACTEUR ID_ACTION DT_DEB DT_FIN
---------- ---------- ---------- ------------------- -------------------
70556 21 1 30/08/2011 15:19:56 30/08/2011 15:20:02
70556 21 2 30/08/2011 15:20:02 30/08/2011 15:23:35
70556 21 1 30/08/2011 15:23:35 30/08/2011 15:46:48
70556 21 2 30/08/2011 15:46:48 12/09/2011 16:13:22
70556 21 1 12/09/2011 16:13:22 13/09/2011 16:04:58
70556 21 2 13/09/2011 16:04:58 13/09/2011 16:07:24
70556 82 1 13/09/2011 16:07:24 15/09/2011 10:33:49
70556 82 2 15/09/2011 10:33:49 15/09/2011 11:23:35
70556 82 0 15/09/2011 11:23:35 15/09/2011 16:27:54
70556 82 2 15/09/2011 16:27:54 16/09/2011 17:12:36
70556 82 0 16/09/2011 17:12:36 19/09/2011 11:58:51
70556 82 2 19/09/2011 11:58:51 19/09/2011 12:00:19
70556 82 0 19/09/2011 12:00:19 21/09/2011 15:29:38
70556 82 2 21/09/2011 15:29:38 21/09/2011 15:30:37
70556 21 1 21/09/2011 15:30:37 21/09/2011 15:58:48
70556 21 2 21/09/2011 15:58:48 21/09/2011 16:01:51
70556 21 1 21/09/2011 16:01:51 21/09/2011 16:41:34
70556 21 2 21/09/2011 16:41:34 21/09/2011 17:26:40
70556 21 5 21/09/2011 17:26:40 21/09/2011 17:26:42
70556 21 6 21/09/2011 17:26:42 21/09/2011 17:26:44
70556 21 7 21/09/2011 17:26:44 03/10/2011 12:01:52
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Tout à fait.
|
|
|
00
|
|
|
#14 | ||
![]() ![]() |
L'idée reste grosso modo la même que dans la première requête :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#15 |
|
Membre à l'essai
![]() Inscription : septembre 2009 Messages : 75 ![]() |
Le chevauchement des périodes est impossible ainsi que le changement d'acteur.
Je jette un coup d' oeil pour comprendre le fonctionnement. Merci pour la solution. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com