Поиск непрерывных диапазонов
От: Аноним  
Дата: 14.10.05 17:28
Оценка:
Здравсвуйте!

Есть таблица BLANC в ней поля NOMER и BSO

    NOMER          BSO
--------------+-------------
4 020 114 051 |  MCO 402
      .       |     .
      .       |     .
4 020 114 080 |  MCO 402
4 202 740 307 |  TCT 420
      .       |     .
      .       |     .
4 202 740 308 |     .
4 202 740 314 |     .
4 202 740 315 |     .
4 202 740 430 |     .
4 202 740 441 |     .
      .       |     .
      .       |     .
4 202 740 463 |  TCT 420 
4 510 213 731 |  EBT 451
      .       |     .
      .       |     .
4 510 213 800 |  EBT 451


После такого запроса
select
  t1.NOMER, min(t2.NOMER)
  from BLANC t1 join BLANC t2 on t1.NOMER <= t2.NOMER
where
  not exists (select NOMER,BLANC.BSO from BLANC t3 where t1.NOMER - 1 = t3.NOMER)
  and
  not exists (select NOMER,BLANC.BSO from BLANC t4 where t2.NOMER + 1 = t4.NOMER)
group by t1.NOMER


Выводит так
   NOMER                  MIN
4 020 114 051        4 020 114 080
4 202 740 307        4 202 740 308
4 202 740 314        4 202 740 315
4 202 740 430        4 202 740 430
4 202 740 441        4 202 740 463
4 510 213 731        4 510 213 800

Но мне нужно чтоб выводило так
   NOMER                  MIN            BSO
4 020 114 051        4 020 114 080      MCO 402
4 202 740 307        4 202 740 308      TCT 420
4 202 740 314        4 202 740 315      TCT 420
4 202 740 430        4 202 740 430      TCT 420
4 202 740 441        4 202 740 463      TCT 420
4 510 213 731        4 510 213 800      EBT 451


Как добиться этого?
Большое спасибо заранее..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.