Salut tous le monde, je suis coincer sur une requête, j'essaye de trouver les périodes manquantes pour les adhérents qui paye trimestriellement et les mois manquants pour ceux qui paye mensuellement. Chaque Adhérent paye pour ces salaries par trimestre ou par mois tous dépends du nombre des ces effectifs. le but et de trouver la période manquante ou le mois manquant dans tous les payements par adhérent.
Structure de la Table :
NumAdhSur le tableau par exemple il manque la Période T42020.
NumAdh Journee Periode Effectif Montant 00258975 10/04/2020 T12020 5 45000.00 00258975 15/07/2020 T22020 5 45000.00 00258975 05/10/2020 T32020 5 45000.00 00258975 03/04/2021 T12021 7 75000.00
Voila ma requête pour trouver les périodes, mais je n'arrive pas à détecter la ou les période qui manque afin de les affiches, merci pour votre aide.
DB : Oracle 11g
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT Distinct Case When SubStr(e.Periode, 5, 1) = ''T'' Then e.Periode Else '''' End Periode_Trim , Case When SubStr(e.Periode, 5, 1) <> ''T'' Then e.Periode Else '''' End Periode_Mens -- , Case When SubStr(e.Periode, 5, 1) = ''T'' Then e.Effectif Else 0 End Eff_Trim -- , Case When SubStr(e.Periode, 5, 1) <> ''T'' Then e.Effectif Else 0 End Eff_Mens , Case When SubStr(e.Periode, 5, 1) = ''T'' Then To_Char(t.DebuActivite, ''YYYYMM'') When SubStr(e.Periode, 5, 1) <> ''T'' Then To_Char(t.DebuActivite, ''YYYYMM'') Else '''' End Date_Debut From Adh_Payment e, Adherent t Where e.NumAdh = ''00258975'' And t.NumAdh = e.NumAdh Order By 1 Desc, 2 Desc
Partager