simplification de requête
bonjour,
je souhaite simplifier la requête suivante grâce à une jointure externe (utilisation du (+) ). J'ai beaucoup de mal à utiliser cet opérateur.
voici la requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| select L.NUM_TOUR ,
L.NUM_LIG_TOUR ,
C.EMP EMP,
C.NUM_CONT NUM_CONT,
C.NUM_ART NUM_ART,
C.NUM_LOT NUM_LOT,
C.DLUO DLUO
from LIG_TOUR L, CONTENANT C
where L.NUM_LIG_TOUR = C.NUM_LIG_TOUR_INV
and L.TYP_TOUR = 'INV'
and L.TYP_REAL = 'PAPI'
and L.STYP_TOUR = 'ACON'
and L.ETAT_LIG_TOUR = 'LANC'
and not exists (select null
from CR_STOCK CR
where CR.NUM_TOUR = L.NUM_TOUR
and CR.NUM_LIG_TOUR = L.NUM_LIG_TOUR
and CR.EMP = C.EMP
and CR.NUM_CONT = C.NUM_CONT
and CR.NUM_ORDRE_PREP = to_char((select max(to_number(CR2.NUM_ORDRE_PREP,'9'))
from CR_STOCK CR2
where CR2.NUM_TOUR = L.NUM_TOUR
and CR2.NUM_LIG_TOUR = L.NUM_LIG_TOUR
and CR2.EMP = C.EMP
and CR2.NUM_CONT = C.NUM_CONT
))
and CR.ETAT_CR_STOCK = 'TERM'); |
merci d'avance pour vos propositions :)