Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 помогите с Select  [new]
imagin
Member

Откуда: Москва
Сообщений: 16
ЗДрасти всем, помогит!
calendar -обычный календарь;
stat - 1-рабочий день,0-выходной
Необходимо выдавать даты 2-х последних рабочих дней в заданный период, строками

Ничего другого придумать не смогла:
select max(cl.data),max(cn.data)
from calendar cl,calendar cn
where cl.stat=1 and cn.stat=1
and cl.data <to_date(sysdate,'dd.mm.rrrr')+1 and cn.dat<cl.dat
and cl.data>to_date(sysdate,'dd.mm.rrrr')-5
and cn.data>to_date(sysdate,'dd.mm.rrrr')-5
6 авг 06, 17:28    [2970515]     Ответить | Цитировать Сообщить модератору
 Re: помогите с Select  [new]
Elic
Member

Откуда:
Сообщений: 29979
imagin
Необходимо выдавать даты 2-х последних рабочих дней в заданный период
RTFM Analytic Functions (FAQ), Аналитические функции в Oracle
6 авг 06, 22:59    [2970819]     Ответить | Цитировать Сообщить модератору
 Re: помогите с Select  [new]
Stax.
Guest
[quot imagin]
Необходимо выдавать даты 2-х последних рабочих дней в заданный период, строками
/quot]
SQL> select * from c;

D               STAT
---------- ---------
07.08.2006         1
08.08.2006         1
09.08.2006         1
10.08.2006         0
11.08.2006         0
12.08.2006         1

6 rows selected.

SQL> 

select d from
 (select d
  from c
  where d between to_date('01.08.2006','dd.mm.yyyy') and to_date('01.09.2006','dd.mm.yyyy')
     and stat<>0
  order by d DESC)
where rownum<3
order by d
/
SQL> /

D
----------
09.08.2006
12.08.2006
......
stax
7 авг 06, 17:13    [2973811]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить