помочь с написанием подзапроса и назначением результатов для запуска истинного или ложного результата - PullRequest
0 голосов
/ 23 июня 2011

Нужна помощь по этому запросу. Пока что он возвращает счет, основанный на данных за пару дней до этого.

То, что я в конечном итоге пытаюсь сделать сейчас, - это создать запрос, который в основном говорит мне, что если значение 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 (false) или 0 (без результатов) Я думаю, что это потребует подзапрос?

Может кто-нибудь помочь мне настроить это? Спасибо.

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Не совсем понимаю, что вам нужно, но, надеюсь, один из них сработает ..

Если вы пытаетесь получить, если count (*) = 500 возвращает 1, иначе возвращает 0, затем попробуйтеthis:

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;
1 голос
/ 24 июня 2011

Не уверен, что это то, что вы ищете, но я попробую:

select 1 from dual
  where 500=(select count(*) from in_source
               where to_date(year||'/'||month||'/'||day, 'YYYY/MM/DD') >= trunc(sysdate) - 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...