CASE表达式可以有2个结果值

时间:2015-02-10 21:53:50

标签: sql case

我必须在SQL中编写一个case表达式,就像这样,

案件条件

if (T_CD = 'Y')                         
        Case C_CD = 'H3' 
        set R_ID = 3 and RS_ID = 25                 
        CASE A_FLG = 'N' and Mod  =  'D'
        set R_ID = 3 and RS_ID = 31

R_ID和RS_ID都填充不同表中的列,并且必须根据上述条件派生。

我的问题是 - 由于我想要在我的case表达式中使用2个单独的字段,因此单个Case会为我提供2个结果字段值。或者我是否必须为它编写2个不同的案例表达式。

1 个答案:

答案 0 :(得分:0)

如果您的dbms支持行类型,可能这适用于您:

select case when a = 1 then (1,2) else (3,4) end from testtable;

SQL Validator说:

The following feature outside Core SQL-2003 is used:

T051, "Row types"