Bonjour,
J'ai une table avec nos codes grades, il est possible dans ma base source (oracle) d'avoir deux lignes avec le même code grade mais avec des dates de début, fin et maj différentes. Or avec ma requête actuelle soit j'ai des doublons soit j'ai plus de doublon mais il me manque des code grades.
Voici la requête :
Voici le résultat :
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 select A.code_grade, A.date_debut, A.date_fin, A.date_maj from (select grades as code_grade, to_char(tgd.tdatdeb, 'DD/MM/YYYY') as date_debut, to_char(tgd.tdatfin, 'DD/MM/YYYY') as date_fin, to_char(tgd.tdatmaj, 'DD/MM/YYYY') as DATE_MAJ from tgd where tgd.coddif = '00' and grades in ('V417','2A01','F163') union ALL select tgd1.grades as code_grade, to_char(tgd1.tdatdeb, 'DD/MM/YYYY') as date_debut, to_char(tgd1.tdatfin, 'DD/MM/YYYY') as date_fin, to_char(tgd1.tdatmaj, 'DD/MM/YYYY') as DATE_MAJ from tgd tgd1 where tgd1.coddif = '10' and tgd1.codhop = '061' and tgd1.grades in ('V417','2A01','F163') ) A join (select grades as code_grade, max(tdatfin) datefin max(tdatmaj) tdatmaj from tgd group by grades) B on A.code_grade=B.code_grade --and A.date_fin=B.datefin --and A.date_maj=B.tdatmaj order by code_grade
Lorsque je fais le filtre sur A.date_fin=B.datefin, voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 VF163 12/11/1999 31/12/3000 01/01/2001 F163 07/09/1983 11/11/1999 01/01/2001 V417 01/01/2013 31/12/3000 13/08/2020 V417 01/01/2013 31/12/3000 13/09/2013 2A01 01/12/2010 31/12/2019 02/10/2020 2A01 01/12/2010 31/12/3000 11/10/2016
Lorsque je fais le filtre sur A.date_maj=B.tdatmaj, voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 F163 12/11/1999 31/12/3000 01/01/2001 V417 01/01/2013 31/12/3000 13/08/2020 V417 01/01/2013 31/12/3000 13/09/2013 2A01 01/12/2010 31/12/3000 11/10/2016
Lorsque j'effectue les deux filtres, voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 F163 07/09/1983 11/11/1999 01/01/2001 F163 12/11/1999 31/12/3000 01/01/2001 V417 01/01/2013 31/12/3000 13/08/2020 2A01 01/12/2010 31/12/2019 02/10/2020
Si vous avez des idées, je tourne en rond ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 F163 12/11/1999 31/12/3000 01/01/2001 V417 01/01/2013 31/12/3000 13/08/2020
Partager