powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Развернуть таблицу
5 сообщений из 5, страница 1 из 1
Развернуть таблицу
    #40080994
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица надо ее развернуть по полю rnum:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t as
 ( select 1 rnum, '12345' code from dual union all
   select 1 rnum, '12345678' code from dual union all
   select 1 rnum, '123456444' code from dual union all
   select 2 rnum, '155' code from dual union all
   select 2 rnum, '12355' code from dual union all
 );



В итоге должно получится:
Код: plsql
1.
2.
3.
rnum code1       code2         code3
1        12345 12345678       123456444
2        155     12355
...
Рейтинг: 0 / 0
Развернуть таблицу
    #40080996
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

pivot https://www.oracle.com/technical-resources/articles/database/sql-11g-pivot.html

к-во столбцов известно?

.....
stax
...
Рейтинг: 0 / 0
Развернуть таблицу
    #40081020
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax, нет то то и оно(((
...
Рейтинг: 0 / 0
Развернуть таблицу
    #40081026
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet
Stax, нет то то и оно(((


Если знаешь максимально возможное число значений для rnum (или тупо 999 ибо максимальное число полей 1000). Например 5:

Код: 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.
with t as
 ( select 1 rnum, '12345' code from dual union all
   select 1 rnum, '12345678' code from dual union all
   select 1 rnum, '123456444' code from dual union all
   select 2 rnum, '155' code from dual union all
   select 2 rnum, '12355' code from dual
 ),
n as (
      select  t.*,
              row_number() over(partition by rnum order by code) rn
        from  t
     )
select  *
  from  n
  pivot(
        max(code)
        for rn in (1,2,3,4,5)
       )
/

      RNUM 1         2         3         4         5
---------- --------- --------- --------- --------- ---------
         1 12345     123456444 12345678
         2 12355     155

SQL>



SY.
...
Рейтинг: 0 / 0
Развернуть таблицу
    #40081066
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet
Stax, нет то то и оно(((

1) сворачивать на клиенте (напр репортом)
2) селект формровать динамически
3) хмл
4) еще что-то

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


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