powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / объединение отрезков
11 сообщений из 11, страница 1 из 1
объединение отрезков
    #39267401
mnemolog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть данные
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with t1 as (
  select 0 b, 100 e, 'A1' f from dual
    union all
  select 100 b, 200 e, 'A2' f from dual
    union all
  select 200 b, 300 e, 'A3' f from dual
    union all
  select 300 b, 400 e, 'A4' f from dual)
,t2 as (
  select 0 b,250 e,'B1' from dual
    union all
  select 250 b, 400 e,'B2' from dual
)


Необходимо получить:
BEF1F20100'A1''B1'100200'A1''B1'200250'A1''B1'250300'A1''B1'300400'A1''B1'

Подскажите направление, у меня идей нет.
...
Рейтинг: 0 / 0
объединение отрезков
    #39267411
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnemologнаправлениетаблицы объединяют с помощью JOIN
...
Рейтинг: 0 / 0
объединение отрезков
    #39267414
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnemolog,

А почему B2 нигде нет?
...
Рейтинг: 0 / 0
объединение отрезков
    #39267417
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnemologПодскажите направление, у меня идей нет. Интервалы с учетом приоритета на SQL.
...
Рейтинг: 0 / 0
объединение отрезков
    #39267427
mnemolog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся в данных
BEF1F20100'A1''B1'100200'A2''B1'200250'A3''B1'250300'A3''B2'300400'A4''B2'
...
Рейтинг: 0 / 0
объединение отрезков
    #39267441
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mnemolog,

возможно, идеи там - 2787115
...
Рейтинг: 0 / 0
объединение отрезков
    #39267732
mnemolog,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
--
-- Твои тестовые данные:
with
  t1 as 
    (
      select 0 b, 100 e, 'A1' f from dual union all
      select 100 b, 200 e, 'A2' f from dual union all
      select 200 b, 300 e, 'A3' f from dual union all
      select 300 b, 400 e, 'A4' f from dual
    )
, t2 as
    (
      select 0 b,250 e,'B1' f from dual union all
      select 250 b, 400 e,'B2' from dual
    )
--
-- Идеи Elic-a в коде:
select i.b, i.e, t1.f as f1, t2.f as f2
 from (
        select p as b, lead(p) over(order by p) as e
          from (
                 select b as p from t1 union
                 select b as p from t2 union
                 select e as p from t1 union
                 select e as p from t2
               ) points
      ) i
  join t1
    on t1.e > i.b
   and t1.b < i.e
  join t2
    on t2.e > i.b
   and t2.b < i.e
 order by i.b
...
Рейтинг: 0 / 0
объединение отрезков
    #39267797
mnemolog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх,
Спасибо
...
Рейтинг: 0 / 0
объединение отрезков
    #39267811
Добрый Э - Эх,

наперемудрил. здесь обычный джоин двух таблиц и без анальных извращений.
...
Рейтинг: 0 / 0
объединение отрезков
    #39267819
греа и леа тест,

сделай на простом джойне. в чем проблема-то?
...
Рейтинг: 0 / 0
объединение отрезков
    #39267834
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
select greatest(t1.b, t2.b) b, least(t1.e, t2.e) e, t1.f, t2.f
from t1
join t2
  on t1.b<t2.e and t1.e>t2.b
order by 1
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / объединение отрезков
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]