안녕하십니까 ~
IN 조건에 SELECT 쿼리가 있는데 이 결과가 NULL 이면 어떤 특정값을 넣어주고 싶은데 방법을 도저히 못찾겠습니다.
여러라인이 리턴이라 DECODE나 NVL 도 사용 못하고
아래는 예문입니다.
부탁드립니다.
WITH SEL AS (
SELECT '001' AS KY , 'A' AS CON FROM DUAL UNION ALL
SELECT '002' AS KY , 'A' AS CON FROM DUAL UNION ALL
SELECT '003' AS KY , 'B' AS CON FROM DUAL UNION ALL
SELECT '004' AS KY , 'B' AS CON FROM DUAL
)
SELECT KY
FROM (
SELECT 'AAA' AS KY, '001' AS FKY FROM DUAL UNION ALL
SELECT 'BBB' AS KY, '002' AS FKY FROM DUAL UNION ALL
SELECT 'CCC' AS KY, '003' AS FKY FROM DUAL UNION ALL
SELECT 'DDD' AS KY, '004' AS FKY FROM DUAL
)
WHERE FKY IN (SELECT KY
FROM SEL
WHERE CON = 'A') -- 요기 조건
---------------------- 조건에 'A' 입력시 결과 --------------------------------
KY
AAA
BBB
--------------------------------------------------------------------------------------
---------------------- 조건에 'C' 입력시 원하는 결과 --------------------------------
KY
CCC
--------------------------------------------------------------------------------------
|