powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с pivot'ом
17 сообщений из 17, страница 1 из 1
Проблема с pivot'ом
    #39401053
maxwait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть данные
Код: 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.
select *
--    Pack
--       , UserCreate
--       , UserConfirm 
--       , DocumOper
--       , VidDocum
--       , CntVidDocum
--       , sum(SSum)
from
  (
    select Pack            --Номер пакета
           , UserCreate    -- пользователь создавший документ
           , UserConfirm   -- Пользователь подтвердивший документ
           , case when UserCreate = 'IP' then UserConfirm else UserCreate end DocumOper  -- документы обработанные сотрудником
           , case when UserCreate = 'IP' then 1 else 0  end VidDocum      /*1 Электрон, 0 -бумажный */
           , Count(case when UserCreate = 'IP' then 1 else 0  end) CntVidDocum   -- Количество
           , SUM(SSum) SSum                         --Сумма
    from (
        select 40 as Pack, 'IP' UserCreate,	'IVANOVA' UserConfirm,      123  SSum  from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  123        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  123        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  123        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  123        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  123        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  345        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  345        from dual union all
        select 40,	        'IP',	       	    'IVANOVA',                  456        from dual union all
        select 40,	        'IVANOVA',	    'PETROVA',                  55         from dual union all
        select 40,	        'IVANOVA',	    'PETROVA',                  456        from dual union all
        select 40,	        'IVANOVA',	    'PETROVA',                  345        from dual union all
        select 40,	        'IVANOVA',	    'PETROVA',                  234        from dual union all
        select 40,	        'IVANOVA',	    'PETROVA',                  456        from dual union all
        select 40,	        'IVANOVA',	    'PETROVA',                  456        from dual 
    )
    group by Pack,UserCreate , UserConfirm
  )
PIVOT (sum(SSum) as S FOR VidDocum IN ('0' as Bumaga, '1' as Electron))



Подскажите пожалуйста , как получить данные вида, как правильно написать пивот. чтобы получилась одна строка

Код: sql
1.
2.
пачка  сотрудник  кол-во эл док   сумма док  кол-во бум док  сумма
40     IVANOVA    9                    1884          6        2002
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401075
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select *
from
  (
    select Pack
           , case when UserCreate = 'IP' then UserConfirm else UserCreate end DocumOper  -- документы обработанные сотрудником
           , case when UserCreate = 'IP' then 1 else 0  end VidDocum      /*1 Электрон, 0 -бумажный */
           , ssum
    from (…)
  )
PIVOT (count(*) as c, sum(SSum) as S FOR VidDocum IN ('1' as Electron, '0' as Bumaga))
;

Код: plsql
1.
2.
3.
      PACK DOCUMOP ELECTRON_C ELECTRON_S   BUMAGA_C   BUMAGA_S
---------- ------- ---------- ---------- ---------- ----------
        40 IVANOVA          9       1884          6       2002
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401095
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как изменить - не знаю, а завернуть можно :

select Pack,usercreate, sum(cnt_el),sum (Electron_S),sum(cnt_el), sum(Bumaga_S) from (
select Pack
,decode (UserCreate,'IP',DocumOper,UserCreate) usercreate
,nvl2(Bumaga_S,CntVidDocum,null) cnt_b
,nvl2(Electron_S,CntVidDocum,null) cnt_el
,Bumaga_S
,Electron_S
from (
select *
-- Pack
-- , UserCreate
-- , UserConfirm
-- , DocumOper
-- , VidDocum
-- , CntVidDocum
-- , sum(SSum)
from
(
select Pack --Номер пакета
, UserCreate -- пользователь создавший документ
, UserConfirm -- Пользователь подтвердивший документ
, case when UserCreate = 'IP' then UserConfirm else UserCreate end DocumOper -- документы обработанные сотрудником
, case when UserCreate = 'IP' then 1 else 0 end VidDocum /*1 Электрон, 0 -бумажный */
, Count(case when UserCreate = 'IP' then 1 else 0 end) CntVidDocum -- Количество
, SUM(SSum) SSum --Сумма
from (
select 40 as Pack, 'IP' UserCreate, 'IVANOVA' UserConfirm, 123 SSum from dual union all
select 40, 'IP', 'IVANOVA', 123 from dual union all
select 40, 'IP', 'IVANOVA', 123 from dual union all
select 40, 'IP', 'IVANOVA', 123 from dual union all
select 40, 'IP', 'IVANOVA', 123 from dual union all
select 40, 'IP', 'IVANOVA', 123 from dual union all
select 40, 'IP', 'IVANOVA', 345 from dual union all
select 40, 'IP', 'IVANOVA', 345 from dual union all
select 40, 'IP', 'IVANOVA', 456 from dual union all
select 40, 'IVANOVA', 'PETROVA', 55 from dual union all
select 40, 'IVANOVA', 'PETROVA', 456 from dual union all
select 40, 'IVANOVA', 'PETROVA', 345 from dual union all
select 40, 'IVANOVA', 'PETROVA', 234 from dual union all
select 40, 'IVANOVA', 'PETROVA', 456 from dual union all
select 40, 'IVANOVA', 'PETROVA', 456 from dual
)
group by Pack,UserCreate , UserConfirm
)
PIVOT (sum(SSum) as S FOR VidDocum IN ('0' as Bumaga, '1' as Electron))
)
)group by Pack,usercreate;
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401100
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortnetа завернуть можно :Усугубил говнокодом?
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401111
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Код как код.
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401222
maxwait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic , fortnet, Спасибо!
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401238
maxwait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдруг кому пригодится чтот подобное
select *
from
(
select Pack
, case when UserCreate = 'IP' then UserConfirm else UserCreate end DocumOper -- документы обработанные сотрудником
, case when UserCreate = 'IP' then 1 else 0 end VidDocum /*1 Электрон, 0 -бумажный */
, case when Pack = 40 then 1
when Pack = 41 then 2
else null end GrRang
, ssum
from (
select 40 as Pack, 'IP' UserCreate, 'IVANOVA' UserConfirm, 123 SSum from dual union all
select 40, 'IP', 'IVANOVA', 123 from dual union all
select 40, 'IP', 'PETROVA', 123 from dual union all
select 41, 'IP', 'IVANOVA', 123 from dual union all
select 41, 'IP', 'IVANOVA', 123 from dual union all
select 41, 'IP', 'IVANOVA', 123 from dual union all
select 41, 'IP', 'IVANOVA', 345 from dual union all
select 40, 'IP', 'IVANOVA', 345 from dual union all
select 40, 'IP', 'PETROVA', 456 from dual union all
select 40, 'IVANOVA', 'PETROVA', 55 from dual union all
select 40, 'IVANOVA', 'PETROVA', 456 from dual union all
select 40, 'IVANOVA', 'PETROVA', 345 from dual union all
select 41, 'IVANOVA', 'PETROVA', 234 from dual union all
select 41, 'IVANOVA', 'PETROVA', 456 from dual union all
select 41, 'PETROVA', 'PETROVA', 456 from dual
)
)
PIVOT (count(*) as c, sum(SSum) as S FOR VidDocum IN ('1' as Electron, '0' as Bumaga))
;
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401356
maxwait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил еще промежуточные итоги

Код: 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.
42.
Select
     pack
     , nvl(DocumOper,'Total')  as Oper
     , sum(Electron_c)         as el_col
     , sum(Electron_s)         as el_sum
     , sum(Bumaga_c)           as bum_col
     , sum(Bumaga_s)           as bum_sum
from(         
    select 
           pack
           , DocumOper
           , nvl(Electron_c,0) as Electron_c
           , nvl(Electron_s,0) as Electron_s
           , nvl(Bumaga_c,0) as Bumaga_c
           , nvl(Bumaga_s,0) as Bumaga_s
    from
    (
      select Pack
        , case when UserCreate = 'IP' then UserConfirm else UserCreate end DocumOper -- документы обработанные сотрудником
        , case when UserCreate = 'IP' then 1 else 0 end VidDocum /*1 Электрон, 0 -бумажный */
        , ssum
      from (
            select 40 as Pack, 'IP' UserCreate, 'IVANOVA' UserConfirm, 123 SSum from dual union all
            select 40,         'IP',            'IVANOVA',             123      from dual union all
            select 40,         'IP',            'PETROVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             345      from dual union all
            select 40,         'IP',            'IVANOVA',             345      from dual union all
            select 40,         'IP',            'PETROVA',             456      from dual union all
            select 40,         'IVANOVA',       'PETROVA',             55       from dual union all
            select 40,         'IVANOVA',       'PETROVA',             456      from dual union all
            select 40,         'IVANOVA',       'PETROVA',             345      from dual union all
            select 41,         'IVANOVA',       'PETROVA',             234      from dual union all
            select 41,         'IVANOVA',       'PETROVA',             456      from dual union all
            select 41,         'PETROVA',       'PETROVA',             456      from dual 
           )
     )
     PIVOT (count(*) as c, sum(SSum) as S FOR VidDocum IN ('1' as Electron, '0' as Bumaga))
   ) 
group by rollup(pack, DocumOper)
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401366
maxwait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдруг кому еще пригодится, развернул еще по пачкам

Код: 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.
select *
from (
    select 
         pack
         , DocumOper
         , nvl(Electron_c,0) as Electron_c
         , nvl(Electron_s,0) as Electron_s
         , nvl(Bumaga_c,0) as Bumaga_c
         , nvl(Bumaga_s,0) as Bumaga_s
    from
    (
      select Pack
        , case when UserCreate = 'IP' then UserConfirm else UserCreate end DocumOper -- документы обработанные сотрудником
        , case when UserCreate = 'IP' then 1 else 0 end VidDocum /*1 Электрон, 0 -бумажный */
        , ssum
      from ( /*Внутр запросом выбираем данные*/
            select 40 as Pack, 'IP' UserCreate, 'IVANOVA' UserConfirm, 123 SSum from dual union all
            select 40,         'IP',            'IVANOVA',             123      from dual union all
            select 40,         'IP',            'PETROVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             123      from dual union all
            select 41,         'IP',            'IVANOVA',             345      from dual union all
            select 40,         'IP',            'IVANOVA',             345      from dual union all
            select 40,         'IP',            'PETROVA',             456      from dual union all
            select 40,         'IVANOVA',       'PETROVA',             55       from dual union all
            select 40,         'IVANOVA',       'PETROVA',             456      from dual union all
            select 40,         'IVANOVA',       'PETROVA',             345      from dual union all
            select 41,         'IVANOVA',       'PETROVA',             234      from dual union all
            select 41,         'IVANOVA',       'PETROVA',             456      from dual union all
            select 41,         'PETROVA',       'PETROVA',             456      from dual 
           )
     )
     PIVOT (count(*) as c, sum(SSum) as S FOR VidDocum IN ('1' as Electron, '0' as Bumaga))
     Order by pack
  )
PIVOT (sum(Electron_c) as e_c, sum(Electron_s) as e_s, sum(Bumaga_c) as b_c, sum(Bumaga_s) as b_s FOR Pack In('40' as Pack40, '41' as Pack41))
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401367
maxwait,

да успокойся уже.... никому не пригодится... каждый, приходящий сюда - приходит со своей исключительно уникальной, ранее никем нерешаемой проблемой. поэтому поиском не пользуется, а создает свой топик, как это сделал ты.
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401373
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxwait
Код: plsql
1.
2.
     Order by pack
  )

Быдлокод.
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401459
maxwait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,
почему быдлокод? как не быдлокодить?
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401463
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxwaitкак не быдлокодить? Сортир овать в надлежащих для этого местах.
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401468
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxwait,
Нет смысла сортировать результат и потом применять к нему агрегирующую функцию. Лишняя работа сервера и обманутые ожидания сортированных записей на выходе.
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401516
fortnetmaxwait,
Лишняя работа сервера есть твердая уверенность, что сервер будет заниматься этой бесполезной лишней работой?
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39401524
fortnetmaxwait,
Нет смысла сортировать результат и потом применять к нему агрегирующую функцию. Лишняя работа сервера и обманутые ожидания сортированных записей на выходе.

в качестве иллюстрации
Оптимизатор честно отработал сортировку
Код: 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.
explain plan for 
select *
  from dba_objects
  order by owner, object_type;

select * from table(dbms_xplan.display());

Plan hash value: 2314009818
 
-------------------------------------------------------------------------------------------------------
| Id  | Operation                       | Name        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                |             | 73505 |    12M|       |  3144   (2)| 00:00:12 |
|   1 |  SORT ORDER BY                  |             | 73505 |    12M|    14M|  3144   (2)| 00:00:12 |
|   2 |   VIEW                          | DBA_OBJECTS | 73505 |    12M|       |   282   (6)| 00:00:01 |
|   3 |    UNION-ALL                    |             |       |       |       |            |          |
|*  4 |     FILTER                      |             |       |       |       |            |          |
|*  5 |      HASH JOIN                  |             | 83037 |  6730K|       |   277   (6)| 00:00:01 |
|   6 |       TABLE ACCESS FULL         | USER$       |   105 |  1470 |       |     3   (0)| 00:00:01 |
|*  7 |       TABLE ACCESS FULL         | OBJ$        | 83037 |  5595K|       |   272   (5)| 00:00:01 |
|*  8 |      TABLE ACCESS BY INDEX ROWID| IND$        |     1 |     8 |       |     2   (0)| 00:00:01 |
|*  9 |       INDEX UNIQUE SCAN         | I_IND1      |     1 |       |       |     1   (0)| 00:00:01 |
|* 10 |     HASH JOIN                   |             |    37 |  1702 |       |     6  (17)| 00:00:01 |
|  11 |      TABLE ACCESS FULL          | LINK$       |    37 |  1184 |       |     2   (0)| 00:00:01 |
|  12 |      TABLE ACCESS FULL          | USER$       |   105 |  1470 |       |     3   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   4 - filter("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1 AND  (SELECT 1 FROM 
              "SYS"."IND$" "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR 
              "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9))=1)
   5 - access("O"."OWNER#"="U"."USER#")
   7 - filter("O"."LINKNAME" IS NULL AND BITAND("O"."FLAGS",128)=0 AND 
              "O"."NAME"<>'_NEXT_OBJECT' AND "O"."NAME"<>'_default_auditing_options_')
   8 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR 
              "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9)
   9 - access("I"."OBJ#"=:B1)
  10 - access("L"."OWNER#"="U"."USER#")

Оптимизатор избавляет сервер от ненужной сортировки
Код: 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.
42.
43.
44.
explain plan for 
select owner, object_type, count(1)
from (
select *
  from dba_objects
  order by owner, object_type
)
group by owner, object_type;

select * from table(dbms_xplan.display());

Plan hash value: 1528459061
 
-----------------------------------------------------------------------------------------------
| Id  | Operation                       | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                |             | 73505 |  2009K|   291   (9)| 00:00:02 |
|   1 |  HASH GROUP BY                  |             | 73505 |  2009K|   291   (9)| 00:00:02 |
|   2 |   VIEW                          | DBA_OBJECTS | 73505 |  2009K|   281   (6)| 00:00:01 |
|   3 |    UNION-ALL                    |             |       |       |            |          |
|*  4 |     FILTER                      |             |       |       |            |          |
|*  5 |      HASH JOIN                  |             | 83037 |  4135K|   277   (6)| 00:00:01 |
|   6 |       TABLE ACCESS FULL         | USER$       |   105 |  1470 |     3   (0)| 00:00:01 |
|*  7 |       TABLE ACCESS FULL         | OBJ$        | 83037 |  3000K|   272   (5)| 00:00:01 |
|*  8 |      TABLE ACCESS BY INDEX ROWID| IND$        |     1 |     8 |     2   (0)| 00:00:01 |
|*  9 |       INDEX UNIQUE SCAN         | I_IND1      |     1 |       |     1   (0)| 00:00:01 |
|* 10 |     HASH JOIN                   |             |    37 |   666 |     5  (20)| 00:00:01 |
|  11 |      INDEX FULL SCAN            | I_LINK1     |    37 |   148 |     1   (0)| 00:00:01 |
|  12 |      TABLE ACCESS FULL          | USER$       |   105 |  1470 |     3   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   4 - filter("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1 AND  (SELECT 1 FROM 
              "SYS"."IND$" "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR 
              "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9))=1)
   5 - access("O"."OWNER#"="U"."USER#")
   7 - filter("O"."LINKNAME" IS NULL AND BITAND("O"."FLAGS",128)=0 AND 
              "O"."NAME"<>'_NEXT_OBJECT' AND "O"."NAME"<>'_default_auditing_options_')
   8 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR 
              "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9)
   9 - access("I"."OBJ#"=:B1)
  10 - access("L"."OWNER#"="U"."USER#")



Но в целом да - писать, ухудшая читабельность и понимание кода, то, что сервер всё одно делать не будет - немного попахивает быдлокодингом...
...
Рейтинг: 0 / 0
Проблема с pivot'ом
    #39405984
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх,

Не всегда, да, но не гарантированно...

select object_type,count(*) from (select o.*,rownum from user_objects o order by object_type )
group by object_type;

Код: plaintext
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.
---------------------------------------------------------------------------------------------------------------
| Id  | Operation                                  | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                           |                  |  1744 | 22672 |  2026   (1)| 00:00:01 |
|   1 |  SORT GROUP BY NOSORT                      |                  |  1744 | 22672 |  2026   (1)| 00:00:01 |
|   2 |   VIEW                                     |                  |  1744 | 22672 |  2026   (1)| 00:00:01 |
|   3 |    SORT ORDER BY                           |                  |  1744 |   514K|  2026   (1)| 00:00:01 |
|   4 |     COUNT                                  |                  |       |       |            |       |
|   5 |      VIEW                                  | USER_OBJECTS     |  1744 |   514K|  2025   (0)| 00:00:01 |
|   6 |       UNION-ALL                            |                  |       |       |            |       |
|*  7 |        TABLE ACCESS BY INDEX ROWID         | SUM$             |     1 |    12 |     1   (0)| 00:00:01 |
|*  8 |         INDEX UNIQUE SCAN                  | I_SUM$_1         |     1 |       |     0   (0)| 00:00:01 |
|*  9 |        TABLE ACCESS FULL                   | USER_EDITIONING$ |     1 |     6 |     2   (0)| 00:00:01 |
|  10 |         TABLE ACCESS BY INDEX ROWID BATCHED| OBJ$             |     1 |    31 |     4   (0)| 00:00:01 |
|* 11 |          INDEX RANGE SCAN                  | I_OBJ1           |     1 |       |     3   (0)| 00:00:01 |
|* 12 |        FILTER                              |                  |       |       |            |       |
|* 13 |         HASH JOIN                          |                  |  1907 |   201K|  1147   (0)| 00:00:01 |
|  14 |          INDEX FULL SCAN                   | I_USER2          |   182 |  4186 |     1   (0)| 00:00:01 |
|* 15 |          TABLE ACCESS FULL                 | OBJ$             |  1907 |   158K|  1146   (0)| 00:00:01 |
|* 16 |         TABLE ACCESS BY INDEX ROWID        | IND$             |     1 |     9 |     2   (0)| 00:00:01 |
|* 17 |          INDEX UNIQUE SCAN                 | I_IND1           |     1 |       |     1   (0)| 00:00:01 |
|* 18 |         TABLE ACCESS FULL                  | USER_EDITIONING$ |     1 |     6 |     2   (0)| 00:00:01 |
|  19 |         NESTED LOOPS SEMI                  |                  |     1 |    30 |     3   (0)| 00:00:01 |
|* 20 |          INDEX SKIP SCAN                   | I_USER2          |     1 |    20 |     1   (0)| 00:00:01 |
|* 21 |          INDEX RANGE SCAN                  | I_OBJ4           |     1 |    10 |     2   (0)| 00:00:01 |
|* 22 |         TABLE ACCESS FULL                  | USER_EDITIONING$ |     1 |     6 |     2   (0)| 00:00:01 |
|* 23 |        TABLE ACCESS FULL                   | LINK$            |     4 |   132 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------------------
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с pivot'ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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