Bonjour,
je cherche à vérifier si une partie ou une totalité d'un intervalle temps (entre 2 dates) est compris dans les autres enregistrements.
Pour une personne j'ai plusieurs affaires.
Sur chacune des affaires j'ai une échelle temps avec comme informations
N° Affaire -> Date Début Affaire -> Date 1er Évènement -> Date dernier Évènement -> Date Fin Affaire
La Date début Affaire peut-être équivalent à la Date du 1er Évènement.
Dans ma table j'ai les colonnes suivantes :
NUM_PERSONNE
NUM_AFFAIRE
DAT_GRF
COD_MES => mesure affectée
FLG
DAT_GRF correspond soit à une date début affaire, soit à une date evt, soit à une date fin affaire et cela dépend du flag (FLG)
FLG=1 Date début, alors le COD_MES='AME'
FLG=2 pour tous les évènements
FLG=3 pour la fin d'une affaire COD_MES='AME'
Il y a n enreg pour 1 affaire
Ce que je veux c'est pouvoir supprimer les enregistrements ou les modifier si le COD_MES='AME' à condition
que cette période chevauche les autres périodes des autres affaires où l'on a 1 évènement.
Donc si toute la période comprise où le cod_mes = AME est "converte" par les autres affaires je supprime l'enregistrement du couple AFFAIRE, DAT_GRF
Si la période n'est pas "couverte" par les autres je laisse tel quel l'enreg.
Sinon si on au seulement une partie qui est couverte alors il faudra mettre à jour l'enregistrement en modifiant la DAT_GRF
Pour de meilleures explications je mets un schéma en pièce jointe
Vous verrez donc que je veux supprimer dans l'affaire 2 l'enreg avec le cod_mes='AME'. Idem pour l'affaire 4.
En revanche pour l'affaire 6 il faut que je modifie la dat_grf et lui indique la date D8 et non plus celle de D7.
On a pas de période orange à la fin de chaque affaire car on est en situation de mesure à partir de la date du 1er évènement jusqu'à la date de fin de l'affaire où nous avons le flag à 3 et le code mesure 'AME'.
Merci bien.
Patrick
Partager