2011-06-23 7 views
0

このクエリのヘルプが必要です。これまでのところ、私は数日前からのデータに基づいてカウントを返すようにしました。サブクエリを作成し、結果を真または偽の結果をトリガーするのに役立ちます

私が最終的にやろうとしているのは、カウント(*)= Xnの値が基本的にわかっているクエリを作成することです。

私は結果が得られない場合、その大丈夫です。ここで

は私のクエリです:だから

SQL> select count(*) from in_source where to_date(year||'/'||month||'/'||day, 'YYYY/MM/DD') >= trunc(sysdate) - 1; 

    COUNT(*) 
---------- 
    500 

、COUNT(*)= 500は、このクエリは1(偽)または0(なしの結果)である基本的にあれば。私はこれがサブクエリを必要とすると思いますか?

誰かがこれを微調整するのに役立つことができますか?ありがとうございました。

答えて

1

は本当にあなたが後にしているのか理解しないが、これらのうまくいけば1が動作します。..

あなたはCOUNT(*)= 500リターンが他の1が0を返す場合は取得しようとしている場合は

これを試してみてください。

select case when count(*) = 500 then 1 else 0 end result 
from in_source 
where to_date(year||'/'||month||'/'||day, 'YYYY/MM/DD') >= trunc(sysdate) - 1; 

あなたはCOUNT(*)= 500が、その後1を返す場合は取得しようとしている場合それ以外の行は返さないでください:

select 1 result 
from in_source 
where to_date(year||'/'||month||'/'||day, 'YYYY/MM/DD') >= trunc(sysdate) - 1 
having count(*) = 500; 
+0

はい、まさに私が探していたものです。大文字小文字を使用することは考えないありがとうございました。 – jdamae

1

ない、これはあなたが探しているものですが、私はそれを試してみるかどうかわから:

select 1 from dual 
    where 500=(select count(*) from in_source 
       where to_date(year||'/'||month||'/'||day, 'YYYY/MM/DD') >= trunc(sysdate) - 1); 
+0

も機能します。ありがとう。 – jdamae

関連する問題