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
| with v as (
select C.REFERENCE as NUM_EDL
, DECODE(A.STATUT,1,'actif',2,'en cours de modification',3,'en cours de cessation') AS STATUT_CONTRAT
, A.DATECREATION
, F.LIBELLE as TYPE_COMPTEUR
, E.DATERELEVE
, G.LIBELLE as TYPE_INDEX
, G.VALEUR as INDEX_CONSO
, ROW_NUMBER() OVER (PARTITION BY C.REFERENCE, A.STATUT, A.DATECREATION, F.LIBELLE as TYPE_COMPTEUR, G.LIBELLE ORDER BY E.DATERELEVE DESC) AS rn
from
VRP_CONTRAT A
left join CONTRAT_ESPACESDELIVRAISON B on B.SOURCE = A.ID
left join VRP_ESPACEDELIVRAISON C on C.ID = B.DEST
left join VRS_CONTRAT_RELEVES D on A.ID = D.SOURCE
left join VRP_RELEVE E on D.DEST = E.ID
left join VRS_CONFIGURATIONMATERIELLE F on F.ID = E.PACM_ID
left join VRS_GRANDEURPHYSIQUE G on G.RELEVE_ID = E.ID
where A.STATUT in (1, 2, 3)
and F.DATEFIN is null
and F.LIBELLE in ('BT HP/HC Electronique', 'BT HP/HC Electromécanique')
and E.NATURERELEVE in (1,6,41)
and E.STATUTRELEVE in (1, 3)
and lower(G.LIBELLE) like '%index nrj active%'
and (A.CODEGRD = 'G-EDF' or A.CODEFOURNISSEUR = 'F-EDF') and mod(A.ETATOBJET,2)=0
and (C.CODEGRD = 'G-EDF' or C.CODEFOURNISSEUR = 'F-EDF') and mod(C.ETATOBJET,2)=0
)
SELECT NUM_EDL,
STATUT_CONTRAT,
DATECREATION,
TYPE_COMPTEUR,
DATERELEVE,
TYPE_INDEX,
INDEX_CONSO
FROM v
WHERE rn <= 2; |
Partager