Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос с выводом подзаголовка наверху / 3 сообщений из 3, страница 1 из 1
11.10.2016, 11:16
    #39324311
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с выводом подзаголовка наверху
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with tmp as 
(
   select 1 region, 10 dom, 100 kvartira from dual union all
   select 1,10,101 from dual union all
   select 1,10,104 from dual union all
   select 1,11,100 from dual union all
   select 1,11,101 from dual union all
   select 2,20,101 from dual union all
   select 2,21,102 from dual union all
   select 4,10,101 from dual union all
   select 5,10,101 from dual
) 
select * from tmp;




Хочу получить вывод средствами sql(pl/sql) вида:
L R D K
1 1
2 1 10 100
2 1 10 101
2 1 10 104
2 1 11 100
2 1 11 101
1 2
2 2 20 101
2 2 21 102
1 4
2 4 10 101
1 5
2 5 10 101

L-уровень вложенности либо 1, либо 2 (1 родитель)
R-регион
D-дом
K-квартира

Позволяет ли реализовать это функция CUBE? Или есть другая?
...
Рейтинг: 0 / 0
11.10.2016, 11:28
    #39324327
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с выводом подзаголовка наверху
Сделал пока с костылями, может будет работать:
with tmp as
(
select 1 region, 10 dom, 100 kvartira from dual union all
select 1,10,101 from dual union all
select 1,10,104 from dual union all
select 1,11,100 from dual union all
select 1,11,101 from dual union all
select 2,20,101 from dual union all
select 2,21,102 from dual union all
select 4,10,101 from dual union all
select 5,10,101 from dual
)
select region, replace(grouping(dom),0,2) g, dom, kvartira from tmp
group by region, rollup(dom,kvartira)
having (kvartira is not null and dom is not null) or (kvartira is null and dom is null)
--group by region, cube(dom,kvartira)
order by region, g, kvartira
;
...
Рейтинг: 0 / 0
11.10.2016, 11:49
    #39324349
Vint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с выводом подзаголовка наверху
reaque,
grouping sets
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос с выводом подзаголовка наверху / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]