Bonjour,
Dans la requête ci-dessous je récupère des noms avec la liste associée aux rôles de chaque nom.
Dans la partie left join avec sous requête, je souhaiterais également récupérer la liste des noms des responsables de chacun.
J'ai une erreur VALIDERU.MATRI identificateur non valide.
Merci pour votre aide
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
SELECT HOPEMPL.SEITYPPOP,HOPEMPL.MATRI, HOPEMPL.NOMPRE,HOPEMPL.HORSECT, HOPSECH.LIBCOURT, HOPSECH.LIBELLE, HOPEMPL.GROUPH,
listagg(HOPROLE.UTIL || ' : ' || coalesce(HOPROLE.HORSECT, ' '), '; ')
        within group ( order by HOPROLE.UTIL ) ROL,
valideur.valideur
From HOPEMPL, HOPSECH, HOPCTRA, HOPROLE
LEFT JOIN ( 
select LISTAGG(x.nompre, '; ' ) WITHIN GROUP (ORDER BY x.nompre) as valideur from
( select hopempl.nompre from hopempl ,sfphierd where hopempl.matri = sfphierd.matri ) x
GROUP By x.nompre
) valideur
on hopmepl.matri = valideur.matri
WHERE HOPEMPL.HORSECT = HOPSECH.HORSECT
AND HOPEMPL.MATRI = HOPCTRA.MATRI
AND SYSDATE Between HOPCTRA.DATDEB and HOPCTRA.DATFIN
AND HOPEMPL.SEITYPPOP not in ('V',' ', 'I')
AND HOPEMPL.MATRI not in ('989897','989898','98989826')
AND HOPEMPL.MATRI = HOPROLE.MATRI
 
GROUP BY (HOPEMPL.SEITYPPOP,HOPEMPL.MATRI, HOPEMPL.NOMPRE,HOPEMPL.HORSECT, HOPSECH.LIBCOURT, HOPSECH.LIBELLE, HOPEMPL.GROUPH, valideur.valideur)
ORDER BY HOPEMPL.HORSECT, HOPEMPL.SEITYPPOP