Bonjour à tous,
Je me creuse depuis pas mal de temps sur une requête que je n'arrive pas à réaliser comme je le souhaite.
En fait, j'ai fait cette requête à la main et qui marche :
Et j'ai mon logiciel (Business Object) qui me génère cette requête :
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 SELECT TBSCT.EPE_DSE_CHAMP_REPORTING.NOM_CHAMP_REPORTING, TBSCT.EPE_DSE_FORM_CHAMPS.ID_FORM, TBSCT.EPE_DSE_FORM_CHAMPS.NOM_CHAMP, TBSCT.EPE_DSE_FORM_DONNEES.VALEUR_CHAMP, TBSCT.EPE_DSE_CHECKLIST.ID_CHECKLIST, TBSCT.EPE_DSE_CHECKLIST.NUM_AFFAIRE, TBSCT.EPE_DSE_CHECKLIST.STATUT_CHECKLIST, TBSCT.EPE_DSE_CHECKLIST.REV_CHECKLIST, TBSCT.EPE_DSE_FORM_DONNEES.CHAMP_ACTIF FROM tbsct.epe_dse_champ_reporting, TBSCT.EPE_DSE_FORM_CHAMPS, TBSCT.EPE_DSE_CHECKLIST_FORM, tbsct.epe_dse_checklist, tbsct.epe_dse_form_donnees WHERE tbsct.epe_dse_champ_reporting.ID_CHAMP_REPORTING = TBSCT.EPE_DSE_FORM_CHAMPS.ID_CHAMP_REPORTING AND TBSCT.EPE_DSE_FORM_CHAMPS.ID_FORM = 245 and TBSCT.EPE_DSE_FORM_CHAMPS.ID_FORM = TBSCT.EPE_DSE_CHECKLIST_FORM.ID_FORM and TBSCT.EPE_DSE_CHECKLIST_FORM.FORM_ACTIF = 'O' and tbsct.epe_dse_checklist.ID_CHECKLIST = TBSCT.EPE_DSE_CHECKLIST_FORM.ID_CHECKLIST and tbsct.epe_dse_checklist.STATUT_CHECKLIST <> 'INACTIF' and tbsct.epe_dse_checklist.STATUT_CHECKLIST <> 'CREE' and tbsct.epe_dse_form_donnees.ID_CHECKLIST = TBSCT.EPE_DSE_CHECKLIST_FORM.ID_CHECKLIST and tbsct.epe_dse_form_donnees.ID_FORM = TBSCT.EPE_DSE_CHECKLIST_FORM.ID_FORM and TBSCT.EPE_DSE_FORM_CHAMPS.NOM_CHAMP = tbsct.epe_dse_form_donnees.NOM_CHAMP and TBSCT.EPE_DSE_FORM_CHAMPS.PAGE_CHAMP = tbsct.epe_dse_form_donnees.PAGE_CHAMP and TBSCT.EPE_DSE_FORM_CHAMPS.OCCUR_CHAMP = tbsct.epe_dse_form_donnees.OCCUR_CHAMP and tbsct.epe_dse_form_donnees.CHAMP_ACTIF = 'O' order by NOM_CHAMP_REPORTING, NUM_AFFAIRE
Il n'y a que l'alias qui change.. Pourtant ça devrait pointer vers la même table, je ne comprends vraiment pas pourquoi les résultats sont si différents avec ces requêtes qui me semblent identiques...
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 SELECT DISTINCT TBSCT.EPE_DSE_CHAMP_REPORTING.NOM_CHAMP_REPORTING, TBSCT.EPE_DSE_CHECKLIST_FORM.FORM_ACTIF, TBSCT.EPE_DSE_FORM_CHAMPS.ID_FORM, TBSCT.EPE_DSE_FORM_CHAMPS.NOM_CHAMP, TBSCT.EPE_DSE_FORM_DONNEES.VALEUR_CHAMP, TBSCT.EPE_DSE_FORM_DONNEES.CHAMP_ACTIF, TBSCT.EPE_DSE_CHECKLIST.NUM_AFFAIRE, TBSCT.EPE_DSE_CHECKLIST.REV_CHECKLIST, TBSCT.EPE_DSE_CHECKLIST.STATUT_CHECKLIST FROM TBSCT.EPE_DSE_CHAMP_REPORTING, TBSCT.EPE_DSE_CHECKLIST_FORM , TBSCT.EPE_DSE_CHECKLIST_FORM TBSCT_EPE_DSE_CHECKLIST_FORM2, TBSCT.EPE_DSE_FORM_CHAMPS, TBSCT.EPE_DSE_FORM_DONNEES, TBSCT.EPE_DSE_CHECKLIST WHERE ( TBSCT_EPE_DSE_CHECKLIST_FORM2.ID_CHECKLIST=TBSCT.EPE_DSE_CHECKLIST.ID_CHECKLIST ) AND ( TBSCT.EPE_DSE_CHAMP_REPORTING.ID_CHAMP_REPORTING=TBSCT.EPE_DSE_FORM_CHAMPS.ID_CHAMP_REPORTING ) AND ( TBSCT.EPE_DSE_FORM_CHAMPS.NOM_CHAMP=TBSCT.EPE_DSE_FORM_DONNEES.NOM_CHAMP and TBSCT.EPE_DSE_FORM_CHAMPS.OCCUR_CHAMP=TBSCT.EPE_DSE_FORM_DONNEES.OCCUR_CHAMP and TBSCT.EPE_DSE_FORM_CHAMPS.PAGE_CHAMP=TBSCT.EPE_DSE_FORM_DONNEES.PAGE_CHAMP ) AND ( TBSCT.EPE_DSE_CHECKLIST_FORM.ID_FORM=TBSCT.EPE_DSE_FORM_CHAMPS.ID_FORM ) AND ( TBSCT.EPE_DSE_FORM_DONNEES.ID_CHECKLIST=TBSCT_EPE_DSE_CHECKLIST_FORM2.ID_CHECKLIST and TBSCT.EPE_DSE_FORM_DONNEES.ID_FORM=TBSCT_EPE_DSE_CHECKLIST_FORM2.ID_FORM ) AND ( TBSCT.EPE_DSE_CHECKLIST_FORM.FORM_ACTIF = 'O' AND TBSCT.EPE_DSE_FORM_CHAMPS.ID_FORM = 236 AND TBSCT.EPE_DSE_FORM_DONNEES.CHAMP_ACTIF = 'O' AND TBSCT.EPE_DSE_CHECKLIST.STATUT_CHECKLIST NOT IN ('CREE', 'INACTIF') )
Merci de vos lumières !
Partager