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

Откуда:
Сообщений: 4
Имеется следующее:
with t as (
select 'aa' name , 1 x, null y from dual
union all select 'aa' , null x, 2 y from dual
union all select 'cc' , 3 x, null y from dual
union all select 'cc' , null x, 4 y from dual
)
select name,x,y
from t

Нужно чтобы получилось вот так:
with t as (
select 'aa' name , 1 x, 2 y from dual
union all select 'cc' , 3 x, 4 y from dual
)
select name,x,y
from t

Можно ли это сделать используя агрегатные или аналитические функции?
11 ноя 15, 08:32    [18398154]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
Anatoly B
Member

Откуда:
Сообщений: 178
DanceR_GrotesK,

select name, min(x), min(y)
from t
group by name
11 ноя 15, 08:48    [18398186]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
123йй
Member

Откуда:
Сообщений: 1637
DanceR_GrotesK,

max(x) ... group by name
11 ноя 15, 08:49    [18398189]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
DanceR_GrotesK
Member

Откуда:
Сообщений: 4
Anatoly B и 123йй, спасибо.

min, max это агрегатные функции.

А аналитические для такого имеются?
11 ноя 15, 09:05    [18398243]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
Elic
Member

Откуда:
Сообщений: 29980
DanceR_GrotesK
А аналитические для такого имеются?
Для такого нужны именно агрегатные.
11 ноя 15, 09:20    [18398320]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
Kido
Member

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


оно?
11 ноя 15, 09:43    [18398410]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
Kido
Member

Откуда:
Сообщений: 46
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030

сорри))
11 ноя 15, 09:43    [18398413]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
DanceR_GrotesK
Member

Откуда:
Сообщений: 4
Kido
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030

сорри))


Не оно.
LISTAGG результат выводит в одном поле.
11 ноя 15, 10:17    [18398584]     Ответить | Цитировать Сообщить модератору
 Re: Как объеденить несколько строк в одну  [new]
DanceR_GrotesK
Member

Откуда:
Сообщений: 4
Elic
DanceR_GrotesK
А аналитические для такого имеются?
Для такого нужны именно агрегатные.

Спасибо. Вопрос закрыт.
11 ноя 15, 10:22    [18398615]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить