Bonjour,

je fait cette requete sous oracle, il me dit ora-01417 une table peut être de jointure externe pour une autre table au moins, comment puis contourner le problème, je souhaite que s'affiche toutes les personne qui ont un histo_dep mais aussi qui n'en non pas. Merci de votre aide.

la requête en question :
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
28
29
30
31
32
33
34
35
36
37
 SELECT distinct
 histo_club_arr.HISTO_DT_DEB_CLUB,
 DECODE(histo_club_arr.HISTO_FG_MVT, 'M', 'Mutation', 'T', 'Transfert', histo_club_arr.HISTO_FG_MVT),
 LICENCIE.LIC_NB_LICENCE,
 LICENCIE.PERS_LB_NOM,
LICENCIE.PERS_LB_PRENOM,
LICENCIE.PERS_FG_SEXE,
 LICENCIE.LIC_FG_ECHELON,
 LICENCIE.LIC_NB_PLACE,
 LICENCIE.LIC_NB_POINT,
 LICENCIE.TCLST_ID,
 CAT.CAT_CD,
 club_dep.CLUB_NM AS club_dep_nm,
 club_dep.CLUB_LB_LONG AS club_dep_lb,
 club_dep.ORGA_ID,
 club_arr.CLUB_NM AS club_arr_nm,
 club_arr.CLUB_LB_LONG AS club_arr_lb,
 club_arr.ORGA_ID
 FROM
 HISTORIQUE_CLUB histo_club_dep,
 HISTORIQUE_CLUB histo_club_arr,
 CLUB club_dep,
 CLUB club_arr,
 LICENCIE,
 CAT
 WHERE 1=1
AND histo_club_arr.HISTO_FG_MVT in ('M', 'T')
AND club_arr.ORGA_ID = 69
AND club_arr.club_nm BETWEEN '010169000' AND '01699999'
and histo_club_arr.HISTO_DT_DEB_CLUB BETWEEN '01/07/2007' AND '30/06/2008'
AND histo_club_dep.HISTO_DT_FIN_CLUB(+) = histo_club_arr.HISTO_DT_DEB_CLUB-1 
AND histo_club_dep.LIC_ID (+) = histo_club_arr.LIC_ID
AND histo_club_dep.CLUB_ID(+) = club_dep.CLUB_ID
AND histo_club_arr.CLUB_ID = club_arr.CLUB_ID
AND LICENCIE.LIC_ID = histo_club_dep.LIC_ID(+)
AND CAT.CAT_ID = LICENCIE.CAT_ID
ORDER BY LICENCIE.PERS_LB_NOM, LICENCIE.PERS_LB_PRENOM, club_arr.CLUB_NM