Я пытаюсь это заявлениерасщепление колонки во многих строках дает слишком много строк
with value_table as
(select 1 id, '1/2/3' objnr from dual
union all
select 2, '4/5/6' from dual),
test as
(select id, objnr col from value_table where id in (1, 2))
select id, regexp_substr(col, '[^/]+', 1, level) result
from test
connect by level <= length(regexp_replace(col, '[^/]+')) + 1
order by 1
Я хочу, чтобы получить 6 строк
1 1
1 2
1 3
2 4
2 5
2 6
, но я получаю Ряды несколько раз. Когда я пытаюсь использовать только один идентификатор, он работает без проблем. Как обходной путь, я просто сделал цикл для каждого отдельного идентификатора, другое решение - использовать разные, но для выполнения, когда я пытаюсь это сделать, требуется возраст, с реальными данными (более 1000 записей). Может ли кто-нибудь предоставить более сложное решение?
Как указано в вопросе. Разница не является ценным решением, когда я использую реальные данные. –