从 DB2 上的 case 语句设置参数?

Setting up Parameters from a case statement on DB2?

我在进行案例陈述的地方进行了查询,但我需要一个基于案例陈述结果的参数。

我正在使用 DB2,有人可以指点一下吗?

SELECT DRIVER_ID, NAME, DRIVER.USER9 AS PHONE, 
CASE WHEN TERMINAL_NUMBER IN ('42','9','75','54','52','40','42','41','6') THEN 'EAST' 
WHEN TERMINAL_NUMBER IN ('0','8','43','48','47','2','46','50','4','5','49', '1') THEN 'WEST' 
ELSE '' END AS REGION
, DRIVER_TYPE
FROM DRIVER WHERE ACTIVE_IN_DISP = 'True' AND
<PARAMETER WOULD GO HERE>
ORDER BY TERMINAL_NUMBER
WITH UR

如您所见,我有两个来自 East 或 West 案例的结果,我希望将它们作为参数。

提前致谢!

您可以创建一个通用 table 表达式,以将 case 语句的结果用作参数。

主要使用原始 select 语句。

    with MyCTE as (
SELECT DRIVER_ID, NAME, DRIVER.USER9 AS PHONE, 
    CASE WHEN TERMINAL_NUMBER IN ('42','9','75','54','52','40','42','41','6') THEN 'EAST' 
    WHEN TERMINAL_NUMBER IN ('0','8','43','48','47','2','46','50','4','5','49', '1') THEN 'WEST' 
    ELSE '' END AS REGION
    , DRIVER_TYPE
    FROM DRIVER WHERE ACTIVE_IN_DISP = 'True' 
    )
    select * from MyCTE where region = ?