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 :
merci d'avance pour vos propositions
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
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');![]()
Partager