2016-10-06 3 views
-2

質問に問題があります。 2つの列の間にある場合、50以上の値を比較する必要があります。たとえば、2つのvarcharカラムがあります。PL/SQLでより多くの値を比較する

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

と値が1001, 2001, 3001, 4001です。 そして、値がcol1とcol2の間にある場合、私はYまたはNと入力データと列を持つテーブルが必要になります。

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

私は(IN使用することをしようと試みた)が、それは間のために使用可能ではありません。 私に答えてくれますか? 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 ; 
関連する問題