by woni_rang [SQL Query] [2020.11.23 15:00:40]
select 'aClass'as c, 'park' as t, '' as d from dual union all select 'aClass' as c, 'lee' as t, 'mon' as d from dual union all select 'aClass' as c, 'kim' as t, 'tue' as d from dual;
aClass에서 기본으로 park값만 조회하다 paramter로 mon이 오면 lee값만 조회되게하고
tue값이 오면 kim만 조회되게 하려면 어떻게 하나요..
덧붙여 parameter로 값은 항상 넘어오지만 존재하지 않는 값인 경우 기본인 park만 조회가 되어야합니다.
떠오르지를 않네요..도움 부탁드립니다...(__)
WITH t AS ( SELECT 'aClass' c, 'park' t, '' d FROM dual UNION ALL SELECT 'aClass', 'lee', 'mon' FROM dual UNION ALL SELECT 'aClass', 'kim', 'tue' FROM dual ) SELECT a.c , NVL(b.t, a.t) t , :v_d d FROM t a LEFT OUTER JOIN t b ON a.c = b.c AND b.d = :v_d -- (mon, tue, wed, thu, fri, sat, sun) WHERE a.c = :v_c -- (aClass) AND a.d IS NULL ;