Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / PIVOT / 8 сообщений из 8, страница 1 из 1
23.11.2017, 15:06
    #39558337
bas02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
как сделать чтоб количество столбцов было динамическим в pivot запросе
например, если кроме 'aaa', 'bbb' может быть любое количество других значений:
SELECT *
FROM (
select 'c1' cc, 1 nom, 'aaa' a from dual union all
select 'c1' cc, 2, 'aaa' from dual union all
select 'c2' cc, 3, 'aaa' from dual union all
select 'c3' cc, 4, 'bbb' from dual union all
select 'c4' cc, 5, 'bbb' from dual
)
pivot (sum(nom) for a in('aaa' as aa, 'bbb' as bb))
...
Рейтинг: 0 / 0
23.11.2017, 15:15
    #39558354
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
bas02как сделать чтоб количество столбцов было динамическим в pivot запросе
например, если кроме 'aaa', 'bbb' может быть любое количество других значений:

1) сформировать селект динамически
2) хмл

.....
stax
...
Рейтинг: 0 / 0
23.11.2017, 15:16
    #39558355
PIVOT
все не так просто
...
Рейтинг: 0 / 0
23.11.2017, 15:17
    #39558356
Dshedoo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
PIVOT динамический, а можно вас погуглить?
...
Рейтинг: 0 / 0
23.11.2017, 15:31
    #39558367
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
DshedooPIVOT динамический, а можно вас погуглить?

не понял про погуглить

формируете "'aaa' as aa, 'bbb' as bb " программно

где (как) в дальнейшем собираетесь использовать результат селекта?

.....
stax
...
Рейтинг: 0 / 0
23.11.2017, 15:38
    #39558383
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
Говорил же. Раз в неделю этот вопрос возникает

20962930
...
Рейтинг: 0 / 0
23.11.2017, 18:07
    #39558536
bas02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
Staxbas02как сделать чтоб количество столбцов было динамическим в pivot запросе
например, если кроме 'aaa', 'bbb' может быть любое количество других значений:

1) сформировать селект динамически
2) хмл

.....
stax
динамически это понятно
а с xml как?
...
Рейтинг: 0 / 0
23.11.2017, 18:33
    #39558553
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PIVOT
bas02а с xml как?
Код: 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.
SQL> ed
Wrote file afiedt.buf

  1  select * from (
  2     select job,deptno,sal
  3     from emp)
  4  pivot xml
  5  (
  6     sum(sal) s_sal
  7     for deptno in (any) --(select deptno from dept)
  8  )
  9* order by 1
SQL> /

JOB       DEPTNO_XML
--------- ------------------------------------------------------------
ANALYST   <PivotSet><item><column name = "DEPTNO">20</column><column n
          ame = "S_SAL">6000</column></item></PivotSet>

CLERK     <PivotSet><item><column name = "DEPTNO">10</column><column n
          ame = "S_SAL">1300</column></item><item><column name = "DEPT
          NO">20</column><column name = "S_SAL">1900</column></item><i
          tem><column name = "DEPTNO">30</column><column name = "S_SAL
          ">950</column></item></PivotSet>

MANAGER   <PivotSet><item><column name = "DEPTNO">10</column><column n
          ame = "S_SAL">2450</column></item><item><column name = "DEPT
          NO">20</column><column name = "S_SAL">2975</column></item><i
          tem><column name = "DEPTNO">30</column><column name = "S_SAL
          ">2850</column></item></PivotSet>

PRESIDENT <PivotSet><item><column name = "DEPTNO">10</column><column n
          ame = "S_SAL">5000</column></item></PivotSet>

SALESMAN  <PivotSet><item><column name = "DEPTNO">30</column><column n
          ame = "S_SAL">5600</column></item></PivotSet>



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


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