简体   繁体   中英

case statement inside If statement

NOT EXPERIENCED with case statement , so any one can help me with that?

SELECT NAME ,
CASE ID ,
WHEN 1 THEN 'NAME EXISTS'
FROM EXAMPLE 
END;

This simple case condition works, but I need to add an if condition like the below:

SELECT X.NAME, E.TYPE ,
CASE X.ID ,
WHEN 1 THEN IF E.TYPE='BIG' THEN 'NAME EXISTS'
WHEN 2 THEN IF E.TYPE='SMALL' THEN 'NAME EXISTS'
WHEN 3 THEN IF E.TYPE='MEDIUM' THEN 'NAME EXISTS'
WHEN 4 THEN IF E.TYPE='MEDIUM' AND NAME='STACK' THEN 'NAME EXISTS'
ELSE 'IT DOESNT EXISTS'
FROM EXAMPLE X , EXTERNAL E

END;

 SELECT
   X.NAME, 
   E.TYPE,
   CASE WHEN X.ID = 1 AND E.TYPE = 'BIG' THEN 'NAME EXISTS'
        WHEN X.ID = 2 AND E.TYPE = 'SMALL' THEN 'NAME EXISTS'
        WHEN X.ID = 3 AND E.TYPE = 'MEDIUM' THEN 'NAME EXISTS'
        WHEN X.ID = 4 AND E.TYPE = 'MEDIUM' AND NAME = 'STACK' THEN 'NAME EXISTS'
        ELSE 'IT DOESNT EXISTS'
    END

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM