powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разделить строки по колонкам
7 сообщений из 7, страница 1 из 1
Разделить строки по колонкам
    #39467034
leone-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Можно ли сделать запросом таблицу из этой
c1c2c3gr1f1agr1f1bgr1f1cgr1f2dgr2f2egr2f2fgr2f3ggr2f3h

в эту?
c1f1f2f3gr1adgr1bgr1cgr2eggr2fh
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
with 
  t as 
  (
select 'gr1' as c1, 'f1' as c2,'a' as c3 from dual
union all
select 'gr1','f1','b' from dual
union all
select 'gr1','f1','c' from dual
union all
select 'gr1','f2','d' from dual
union all
select 'gr2','f2','e' from dual
union all
select 'gr2','f2','f' from dual
union all
select 'gr2','f3','g' from dual
union all
select 'gr2','f3','h' from dual  
  )
select * from t    


не много не так получается как хотят
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
with 
  t as 
  (
select 'gr1' as c1, 'f1' as c2,'a' as c3 from dual
union all
select 'gr1','f1','b' from dual
union all
select 'gr1','f1','c' from dual
union all
select 'gr1','f2','d' from dual
union all
select 'gr2','f2','e' from dual
union all
select 'gr2','f2','f' from dual
union all
select 'gr2','f3','g' from dual
union all
select 'gr2','f3','h' from dual  
  )
select c1
     , case when c2 = 'f1' then c3 end f1 
     , case when c2 = 'f2' then c3 end f2   
     , case when c2 = 'f3' then c3 end f3           
  from t   



значения f1, f2, f3 - конечное, они могут быть могут и не быть, f4 не будет никогда.
gr1, gr2, gr3 - может меняться до gr100.
Ну а колонка С3 может принимать любые значения

Спасибо.
...
Рейтинг: 0 / 0
Разделить строки по колонкам
    #39467052
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leone-
а почему не в эту?
c1f1f2f3gr1agr1bdgr1cgr2ehgr2fg
pivot/unpivot
...
Рейтинг: 0 / 0
Разделить строки по колонкам
    #39467058
leone-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vint,
сортировка по полю С3, и заполнять сверху по группе
...
Рейтинг: 0 / 0
Разделить строки по колонкам
    #39467075
leone-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vintleone-
а почему не в эту?
pivot/unpivot
авторДалее, при создании нашего запроса кросс-таблицы, нам необходимо указать агрегатную функцию. Вы можете использовать любую из функций, например: SUM, COUNT, MIN, MAX или AVG


Мне ну нужно ничего суммировать и считать кол-во, нужно просто собрать строки сверху вниз о группе.
...
Рейтинг: 0 / 0
Разделить строки по колонкам
    #39467090
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leone-, нужно просто собрать строки сверху вниз о группеSTFF соединение по порядковому номеру
...
Рейтинг: 0 / 0
Разделить строки по колонкам
    #39467096
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leone-,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
with  t as 
  (
select 'gr1' as c1, 'f1' as c2,'a' as c3 from dual
union all
select 'gr1','f1','b' from dual
union all
select 'gr1','f1','c' from dual
union all
select 'gr1','f2','d' from dual
union all
select 'gr2','f2','e' from dual
union all
select 'gr2','f2','f' from dual
union all
select 'gr2','f3','g' from dual
union all
select 'gr2','f3','h' from dual  
  )
, tt as (
select t.*
,row_number() over (partition by c1,c2 order by c3) rn
 from t)
select c1
,max(decode(c2,'f1',c3)) f1
,max(decode(c2,'f2',c3)) f2
,max(decode(c2,'f3',c3)) f3
 from tt
group by c1,rn
order by 1,2,3,4
/
SQL> /

C1  F F F
--- - - -
gr1 a d
gr1 b
gr1 c
gr2   e g
gr2   f h

SQL>



.....
stax
...
Рейтинг: 0 / 0
Разделить строки по колонкам
    #39467143
leone-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stax..,
Спасибо. Работает!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разделить строки по колонкам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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