如何在查询的 where 子句中使用 APEX 复选框组值

How to use APEX checkbox group values in the where clause of a query

我正在使用 APEX 20.2。 我有一个包含 3 个不同值的复选框组:

该组中选中的值用于过滤查询,我不确定如何编写 where 子句 这是我拥有的:

SELECT Null as link, PERSONNE_EN_CHARGE as label, count(*) as value 
FROM FLYWAY_MEP_HISTORY 
WHERE STATUT_MEP='SUCCESS' 
AND (DATE_MEP BETWEEN to_date(:DATE_DEBUT,'DD/MM/YYYY') AND to_date(:DATE_FIN ,'DD/MM/YYYY')+1)
OR (:DATE_DEBUT is null and :DATE_FIN is null)
AND (UPPER(ENVIRONNEMENT) is null or UPPER(ENVIRONNEMENT) IN (:ENVIRONNEMENT))
GROUP BY PERSONNE_EN_CHARGE
ORDER BY 2;

我不确定的部分是这部分:

UPPER(ENVIRONNEMENT) IN (:ENVIRONNEMENT))

如何在 where 子句中使用复选框组的值?

如果我调试页面,我可以在 devlopper 控制台中看到它

当您在 Apex 中 select 多个值时,它们以冒号分隔。因此,如果将该值拆分为行,则可以将其用作子查询。你的情况:

...
or UPPER(ENVIRONNEMENT) IN 
  (select regexp_substr(:ENVIRONNEMENT, '[^:]+', 1, level)
   from dual
   connect by level <= regexp_count(:ENVIRONMENT, ':') + 1
  )