WITH tbl_temp AS (
SELECT 'a' TYPE FROM dual
UNION ALL
SELECT 'b' TYPE FROM dual
UNION ALL
SELECT 'ab' TYPE FROM dual
)
SELECT CASE WHEN type='a' THEN '남자'
WHEN TYPE = 'b' OR TYPE ='ab' THEN '여자'
WHEN TYPE ='ab' THEN '남자'
ELSE 'tt' END AS tt FROM tbl_temp ;
ab의 경우에는 남자 도 리턴 여자도 리턴이 되었으면 합니다.
가능 할지 문의 드립니다.
구분이 되는 기준이 있어야 될 것 같습니다.. 'ab'는 행복제를 해야겠네요.
어떻게 끼워 맞춘 쿼리입니다.
WITH tbl_temp AS ( SELECT 'a' TYPE FROM dual UNION ALL SELECT 'b' TYPE FROM dual UNION ALL SELECT 'ab' TYPE FROM dual ) SELECT CASE WHEN A.TYPE = 'a' THEN '남자' WHEN A.TYPE = 'b' THEN '여자' WHEN A.TYPE = 'ab' AND B.TYPE = 'a' THEN '남자' WHEN A.TYPE = 'ab' AND B.TYPE = 'b' THEN '여자' END CASE from tbl_temp a, (SELECT * FROM tbl_temp WHERE TYPE <> 'ab') b where A.TYPE <> B.TYPE
답변주셔서 고맙습니다.
목적 : z99라는 상태의 재고의 품목과 수량은 기초재고와 기말 재고 모두에 보여줘야 하는 미션이 있어서
남여로 예를 들어서 설명 드렸습니다.
---------------------------------------------------------------------------------------------------------------------------------------
값은 a,b,ab 3개 만 있지만 표기는 남,여,남,여 처럼 아래 와 같이 보이게 하고자 합니다.
TYPE
------
a
b
ab
TYPE |TYPE_nm
-------------
a 남자
b 여자
ab 남자
ab 여자
WITH tbl_temp AS ( SELECT 'a' type FROM dual UNION ALL SELECT 'b' FROM dual UNION ALL SELECT 'ab' FROM dual UNION ALL SELECT 'c' FROM dual ) , tbl_code AS ( SELECT 'a' type, '남자' type_nm FROM dual UNION ALL SELECT 'b', '여자' FROM dual ) SELECT a.type , NVL(b.type_nm, 'tt') type_nm FROM tbl_temp a LEFT OUTER JOIN tbl_code b ON INSTR(a.type, b.type) > 0 ;