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

Откуда:
Сообщений: 277
в результате некоего запроса получается табличка вида:


field1 field2 flag
1 1 a
1 2 a
1 3 b
1 4 b
2 2 a
2 3 a
3 4 b

первоначально листагом собирал данные второго поля в строку и группировал, но сейчас потребовалось собирать не в одно поле, а в два (относительно признака a или b)


field1 field2a field2b
1 1,2 3,4
2 2,3 Null
3 Null 4
29 мар 12, 09:50    [12331320]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите плиз по группировке  [new]
ukku
Member

Откуда: 59
Сообщений: 195
case?
29 мар 12, 09:52    [12331335]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите плиз по группировке  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
with t as(
select 1 f1,       1 f2,        'a' f3 from dual union all
select 1,       2,        'a' from dual union all
select 1,       3,        'b' from dual union all
select 1,       4,        'b' from dual union all
select 2,       2,        'a' from dual union all
select 2,       3,        'a' from dual union all
select 3,       4,        'b' from dual 
)
select f1, 
       listagg(decode(f3,'a',f2,null),',') within group (order by f1) fA, 
       listagg(decode(f3,'b',f2,null),',') within group (order by f1 ) fB
from t
group by f1
29 мар 12, 09:56    [12331359]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите плиз по группировке  [new]
Iber
Member

Откуда:
Сообщений: 277
Спасибо.
29 мар 12, 10:31    [12331596]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить