Hi
Under Oracle 19c, APEX 24.2.2, in a drop-down list where one chose a “Tâche”, I would like to display only the years where “ACTIVITEE_EFFECTUEE” has been made for this “Tâche”.
This is the table:
CREATE TABLE "RH_ACTIVITE_EFFECTUEE"
( "ID" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE NOT NULL ENABLE,
"TACHE_EFFECTUEE_ID" NUMBER NOT NULL ENABLE,
"CREE_PAR" VARCHAR2(64) NOT NULL ENABLE,
"CREE_LE" DATE DEFAULT CURRENT_DATE NOT NULL ENABLE,
"EFFECTUEE_PAR" NUMBER NOT NULL ENABLE,
"EFFECTUEE_LE" DATE NOT NULL ENABLE,
"ID_PLANNING" NUMBER NOT NULL ENABLE,
"DUREE" NUMBER,
"HEURE_DEBUT" DATE,
"HEURE_FIN" DATE,
"TOTAL_ACTIVITE" NUMBER,
CONSTRAINT "RH_ACTIVITE_EFFECTUEE_PK" PRIMARY KEY ("ID")
USING INDEX ENABLE
) ;
Data:
INSERT INTO rh_activite_effectuee (ID,TACHE_EFFECTUEE_ID,CREE_PAR,CREE_LE,EFFECTUEE_PAR,EFFECTUEE_LE,ID_PLANNING,DUREE,HEURE_DEBUT,HEURE_FIN,TOTAL_ACTIVITE) VALUES (785,2,'ANNABELLE','2026-10-04',63,'2026-09-04',704,1,'2026-09-04','2026-09-04',10),
(787,24,'ANNABELLE','2026-11-04',63,'2026-11-04',705,4,'2026-11-04','2026-11-04',40),
(784,2,'ANNABELLE','2026-10-04',63,'2026-10-04',702,0.5,'2026-10-04','2026-10-04',5),
(826,122,'ANNABELLE','2026-09-05',63,'2025-25-10',745,4,'2025-25-10','2025-25-10',40),
(806,5,'CHAMPAGNAC','2025-09-05',109,'2025-09-05',725,1,'2026-05-05','2026-05-05',10);
I would like that if it is CHAMPAGNAC, the year appearing in the drop-down list would only be “2025”. Because he only made EFFECTUEE_LE in 2025.
A screen shot:

But you see in the drop down list can still see 2026 for this Tache “Accueil” I don't want 2025 appear in the drop-down list because no Tache was made this year. See if I select 2026 I have no data found:

The select I use for the drop-down list is this one but it does not work;
SELECT EXTRACT(YEAR FROM TO_DATE(a.effectuee_le, 'DD/MM/YYYY')) AS D, EXTRACT(YEAR FROM TO_DATE(a.effectuee_le, 'DD/MM/YYYY')) R
FROM rh_activite_effectuee a
WHERE a.duree IS NOT NULL
GROUP BY EXTRACT(YEAR FROM TO_DATE(a.effectuee_le, 'DD/MM/YYYY'))
HAVING SUM(a.duree) IS NOT NULL;
Best regards.