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

Откуда:
Сообщений: 124
dobryi den,pomogite please

est rezultat selecta value1 - Mihhail Link, Väino Peebo, Heinar Kond

nuzno poluchit value1.1 Mihhail Link
value1.2 Väino Peebo
value 1.3 Heinar Kond

probuju cherez case

CASE WHEN TRIM(table.value1) like ... nichego nepoluchaetsja
29 май 12, 11:27    [12630344]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
Добрый Э - Эх
Guest
STFF: строку в толбец
29 май 12, 11:47    [12630514]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
rsltr
Member

Откуда: Москва
Сообщений: 464
romanj,

у тебя это как одна строка?
29 май 12, 12:00    [12630644]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
rsltr
Member

Откуда: Москва
Сообщений: 464
rsltr
romanj,

у тебя это как одна строка?


че то чушь спросил...точнее у тебя это значение одного поля,список твой?
29 май 12, 12:02    [12630665]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
romanj
Member

Откуда:
Сообщений: 124
da
29 май 12, 12:04    [12630686]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
bdsm_sql
Member

Откуда:
Сообщений: 948
11.2

раз
--create type my_rec_t as object(x varchar2(4000), y varchar2(4000));
--create type my_tab_t as table of my_rec_t;

with t as (
select 'value1' x, 'Mihhail Link, Väino Peebo, Heinar Kond' y from dual union all
select 'value2' x, 'Mihhail Link2, Väino Peebo2' y from dual union all
select 'value3' x, '' y from dual
)
select t.x || '.' || t2.x, t2.y from t,
  table(cast(multiset(
    select level, trim(regexp_substr(y, '[^,]+', 1, level)) y from dual connect by level <= regexp_count(t.y, ',') + 1
  ) as my_tab_t)) t2
  order by 1


два
with t as (
select 'value1' x, 'Mihhail Link, V&#228;ino Peebo, Heinar Kond' y from dual union all
select 'value2' x, 'Mihhail Link2, V&#228;ino Peebo2' y from dual union all
select 'value3' x, '' y from dual
),
r(x, lev, xx, y, yy) as (
select x, 1, x || '.1', trim(regexp_substr(y, '[^,]+', 1, 1)), t.y from t union all
select r.x, r.lev + 1, r.x || '.' || (r.lev + 1), trim(regexp_substr(r.yy, '[^,]+', 1, r.lev + 1)), r.yy from dual, r where r.lev < length(regexp_replace(r.yy, '[^,]', '')) + 1
)
select xx, y from r
order by 1
29 май 12, 12:34    [12630950]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
stax..
Guest
bdsm_sql,

зачем в два дуал?
... from dual, r ...

......
stax
29 май 12, 12:47    [12631068]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
romanj
Member

Откуда:
Сообщений: 124
bolsoe spasibo, a kak rezultat ne v odin stolbets Y -Mihhail Link D - Heinar Kond naprimer otdelnye stolbtsy
29 май 12, 12:53    [12631111]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
bdsm_sql
Member

Откуда:
Сообщений: 948
stax..
bdsm_sql,

зачем в два дуал?
... from dual, r ...

......
stax

да чет переклинило - дуал лишний)
29 май 12, 12:54    [12631127]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
bdsm_sql
Member

Откуда:
Сообщений: 948
romanj
bolsoe spasibo, a kak rezultat ne v odin stolbets Y -Mihhail Link D - Heinar Kond naprimer otdelnye stolbtsy

trim(regexp_substr(col, '[^,]+', 1, 1)) col1, trim(regexp_substr(col, '[^,]+', 1, 2)) col2, .. etc
29 май 12, 13:03    [12631227]     Ответить | Цитировать Сообщить модератору
 Re: zapros  [new]
romanj
Member

Откуда:
Сообщений: 124
eshe raz spasibo, razobralsja
29 май 12, 13:39    [12631563]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить