2013-10-29 8 views

답변

2

출력 행을 얻으려면 입력 행이 필요합니다. "2"로 두 번째 행을 가져 오려고하지만 그 값을 가진 테이블이 없습니다.

접근 방식은 찾아 원하는 값이있는 테이블을 생성 한 다음 left outer join을 사용하는 것입니다있는 경기 :

with data_row as (
    select 1 as col_1 
    from dual 
    ), 
    what_i_care_about as (
    select 1 as col from dual union all 
    select 2 from dual 
    ) 
select wica.col, 
     (case when dr.col_1 is NULL then 'N' else 'Y' end) as row_exists 
from what_i_care_about wica left outer join 
    data_row dr 
    on wica.col = dr.col_1; 

당신은 당신이 원하는 것을 직접 할 수없는 - 행을 만들 수있는 in 목록의 각 누락 값에 대해 값이 많고 숫자가 연속 된 경우 connect by 또는 재귀 CTE를 사용하여 값을 생성 할 수 있습니다.

+0

btn ... 사례문에 dr.col_1로 dr.col을 수정하십시오. – SriniV

+0

@realspirituals. . . 전혀. 끝난. –