2011-06-23 64 views
0

需要一些關於此查詢的幫助。到目前爲止,我已經根據前幾天的數據返回一個計數。幫助編寫子查詢並分配結果以觸發真或假結果

我現在最終想要做的是創建一個查詢,基本告訴我如果count(*)= 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

真的不明白你是什麼之後,但這些希望一會工夫..

如果你想獲得,如果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