Bonjour ! J'ai un petit souci concernant une requete.
Voilà mon souci. J'ai un article (matricule)sur lequel une opération a été effectuée. Cette opération génère une entrée en stock (la date de création de l'opération correspondant à la date d'entrée). Toutes ces infos appartiennent à la table "operation".
Ensuite je vais récupèré la date de sortie de stock dans la table "stock_mouvemt", afin d'optenir le delai entre l'entrée et la sortie du stock qu'a généré l'opération. Seulement voilà, ces 2 tables ne sont liées que par le matricule et voici le résultat que j'obtiens.
Matricule -------- NUM_OPE -------- DT_ENTREE ------- DT_SORTIE ------- DELAI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 select L1.MATRICULE MATRICULE, L1.NUM_OPE NUM_OPE, L1.DT_ENTREE DT_ENTREE, L2.DT_SORTIE DT_SORTIE, (L2.DT_SORTIE-L1.DT_ENTREE) DELAI from( select o.num_matricule MATRICULE, o.num_operation NUM_OPE, o.dt_crea_ope DT_ENTREE -- la date de création de l'opération correspond à sa date d'entrée en stock from operation o where o.num_matricule='1234' --filtre sur le matricule order by DT_ENTREE )L1, ( select s.matricule MATRICULE, s.dttm_stock_mvt DT_SORTIE from stock_mouvemt s where s.mvt_type like 'SORTIE') )L2 where L1.MATRICULE=L2.MATRICULE and L1.DT_ENTREE<L2.DT_SORTIE -- supprime les délai négatifs
1234 -------------- 1111 ------------ 01/01/09 --------- 05/01/09 --------- 4
1234 -------------- 1111 ------------ 01/01/09 --------- 28/01/09 --------- 27
1234 -------------- 1111 ------------ 01/01/09 --------- 06/02/09 --------- 36
1234 -------------- 2222 ------------ 22/01/09 --------- 05/01/09 --------- -17
1234 -------------- 2222 ------------ 22/01/09 --------- 28/01/09 --------- 6
1234 -------------- 2222 ------------ 22/01/09 --------- 06/02/09 --------- 15
Pour chaque opération il faudrait que je ne récupère que le délai minimum, comment faire pour ne récupèrer que celui-ci?
J'espère avoir été assez claire...
merci
PS: Ma requete supprime les délais negatifs
Partager