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

Откуда:
Сообщений: 8
Есть таблица вида

Contract Name Currency
1 Вася USD
1 Дима EUR
1 Маша RUB
2 Саша USD

Как получить результат запроса

Contract Name Currency
1 Вася, Дима, Маша USD,EUR,RUB
2 Саша USD

Помоги те плиззззз
15 дек 06, 13:57    [3542070]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Sergey82
Member

Откуда:
Сообщений: 8
Ну что никто не знает?
15 дек 06, 14:07    [3542143]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8170
А обязаны?
15 дек 06, 14:12    [3542183]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Жесткий плагиат от Stax :) Ну уж очень понравился подход.
with t as (select 1 Contract,  'Вася' Name, 'USD' Currency from dual union all
select 1 Contract,  'Дима' Name, 'EUR' Currency from dual union all
select 1 Contract,  'Маша' Name, 'RUB' Currency from dual union all
select 2 Contract,  'Саша' Name, 'USD' Currency from dual)
select contract, max(ltrim(sys_connect_by_path(name,','), ',')), max(ltrim(sys_connect_by_path(currency,','), ','))
from
  (select t.*, row_number() over (partition by contract order by 1) rn from t) 
connect by rn-1 = prior rn and contract = prior contract
start with rn = 1
group by contract
15 дек 06, 14:12    [3542191]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Sergey82
Member

Откуда:
Сообщений: 8
Не обязаны но помочь было бы можно ведь форум он на то и существует.
15 дек 06, 14:13    [3542196]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Sergey82
Member

Откуда:
Сообщений: 8
Пасиб сейчас попробую)
15 дек 06, 14:14    [3542212]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Sergey82
Не обязаны но помочь было бы можно ведь форум он на то и существует.
Э... Вы как минимум могли предоставить таблички с исходными данными в Оракловом варианте. Это было бы вежливо. Желающих помочь было бы больше.
15 дек 06, 14:16    [3542230]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Elic
Member

Откуда:
Сообщений: 30027
Sergey82
Ну что никто не знает?
Этот вопрос уже задолбал.
RTFM ТОП: SQL, PL/SQL: 5) Как получить все значения одного поля в одной строке, через разделители? (FAQ)
15 дек 06, 14:19    [3542263]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
Sergey82
Member

Откуда:
Сообщений: 8
Всем спасибо разобрался
15 дек 06, 14:23    [3542295]     Ответить | Цитировать Сообщить модератору
 Re: помогите плиз  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8170
Sergey82
Не обязаны но помочь было бы можно ведь форум он на то и существует.

"Избегайте бессмысленных просьб

Не поддавайтесь соблазну завершить свой запрос бессмысленными вопросами вида: "Не поможет ли мне кто-нибудь?" или "Есть ли вообще ответ?"
Во-первых, если вы хоть сколько-нибудь компетентно описали свою проблему, подобные дополнительные вопросы, как минимум, излишни.
Во-вторых, поскольку они излишни, хакерам они кажутся надоедливыми — и в ответ их так и подбивает написать логически безукоризненную отписку типа: "Да, помочь вам можно" или "Нет, вам уже ничем не поможешь".

(подробнее см. Первоисточник)
15 дек 06, 14:27    [3542335]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить