Re[5]: Помогите с запросом... :)))
От: Softwarer http://softwarer.ru
Дата: 13.06.06 11:25
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR> Ну так я же просил решения полностью. А в предложеном Вами варианте, ооооочень много вариаций.


Я не очень вижу вариации, но готов преодолеть свою лень

Connected to Oracle9i Enterprise Edition Release 9.2.0.6.0 
Connected as test

SQL> with
  2    work_data as (
  3      select to_date ( '01.01.2006', 'dd.mm.yyyy' ) work_date, 10 id_work from dual union all
  4      select to_date ( '02.01.2006', 'dd.mm.yyyy' ) work_date, 10 id_work from dual union all
  5      select to_date ( '04.02.2006', 'dd.mm.yyyy' ) work_date, 20 id_work from dual union all
  6      select to_date ( '05.02.2006', 'dd.mm.yyyy' ) work_date, 20 id_work from dual union all
  7      select to_date ( '03.03.2006', 'dd.mm.yyyy' ) work_date, 50 id_work from dual union all
  8      select to_date ( '04.03.2006', 'dd.mm.yyyy' ) work_date, 10 id_work from dual union all
  9      select to_date ( '05.03.2006', 'dd.mm.yyyy' ) work_date, 10 id_work from dual ),
 10    prepared as (
 11      select work_date, id_work, work_date - rownum grp_date from work_data order by id_work, work_date )
 12  select
 13    id_work, min ( work_date ), max ( work_date )
 14  from
 15    prepared
 16  group by
 17    id_work, grp_date
 18  order by
 19    2
 20  ;

   ID_WORK MIN(WORK_DATE) MAX(WORK_DATE)
---------- -------------- --------------
        10 01.01.2006     02.01.2006
        20 04.02.2006     05.02.2006
        50 03.03.2006     03.03.2006
        10 04.03.2006     05.03.2006

SQL>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.