从 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 = ?
我在进行案例陈述的地方进行了查询,但我需要一个基于案例陈述结果的参数。
我正在使用 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 = ?