2016-10-06 6 views
-2

쿼리에 문제가 있습니다. 두 열 사이에있는 경우 50 개 이상의 값을 비교해야합니다. 예를 들어 두 개의 varchar 열이 있습니다.PL/SQL에서 더 많은 값을 비교합니다

col1 col2 
----------- 
1000 1999 
2000 2999 
3000 3999 

이고 값은 1001, 2001, 3001, 4001입니다. I는 IN 사용 tryed

input Y/N 
------------- 
1001 Y 
2001 Y 
3001 Y 
4001 N 

()하지만 사이의 가능한 사용하지이다 값 COL1과 COL2 사이에 있다면 와 나는 Y 또는 N와 입력 데이터 열이 테이블을 필요로한다. 대답 해주세요. Thx

+2

검색어에 문제가 있다고하셨습니다. 음 ... 질문을 편집하고 쿼리를 보여주십시오. 이것은 사람들이 당신을 위해 당신의 질의를 작성하게하는 장소가 아닙니다. 또한 약간의 샘플 데이터를 표시하고 적절하게 형식을 지정해야합니다. –

답변

0

여기 있습니다.

with 
    /**You main table data**/ 
    tabl (col1, col2) as(select 1000 ,1999 from dual 
          UNION ALL 
          select 2000 ,2999 from dual 
          UNION ALL 
          select 3000 ,3999 from dual 
         ), 
    /**Your Input tale data**/ 
    tabl_inp(val)as (select 1001 from dual 
         UNION ALL 
         select 2001 from dual 
         UNION ALL 
         select 3001 from dual 
         UNION ALL 
         select 4001 from dual 
      )              
select val INPUT, 
     case 
     when (val >= col1 and val <= col2) then 
      'Y' 
     ELSE 
      'N' 
     END "Y/N" 
from tabl 
right join tabl_inp 
ON val >= col1 and val <= col2 ;