Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с pivot'ом / 17 сообщений из 17, страница 1 из 1
08.02.2017, 16:10
    #39401053
maxwait
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Есть данные
Код: 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
08.02.2017, 16:30
    #39401075
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Код: 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
08.02.2017, 16:51
    #39401095
fortnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Как изменить - не знаю, а завернуть можно :

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
08.02.2017, 16:54
    #39401100
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
fortnetа завернуть можно :Усугубил говнокодом?
...
Рейтинг: 0 / 0
08.02.2017, 17:04
    #39401111
fortnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Elic,

Код как код.
...
Рейтинг: 0 / 0
08.02.2017, 19:40
    #39401222
maxwait
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Elic , fortnet, Спасибо!
...
Рейтинг: 0 / 0
08.02.2017, 20:20
    #39401238
maxwait
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Вдруг кому пригодится чтот подобное
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
09.02.2017, 07:21
    #39401356
maxwait
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Добавил еще промежуточные итоги

Код: 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
09.02.2017, 08:25
    #39401366
maxwait
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Вдруг кому еще пригодится, развернул еще по пачкам

Код: 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
09.02.2017, 08:29
    #39401367
Проблема с pivot'ом
maxwait,

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

Быдлокод.
...
Рейтинг: 0 / 0
09.02.2017, 11:07
    #39401459
maxwait
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Elic,
почему быдлокод? как не быдлокодить?
...
Рейтинг: 0 / 0
09.02.2017, 11:09
    #39401463
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
maxwaitкак не быдлокодить? Сортир овать в надлежащих для этого местах.
...
Рейтинг: 0 / 0
09.02.2017, 11:16
    #39401468
fortnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
maxwait,
Нет смысла сортировать результат и потом применять к нему агрегирующую функцию. Лишняя работа сервера и обманутые ожидания сортированных записей на выходе.
...
Рейтинг: 0 / 0
09.02.2017, 12:25
    #39401516
Проблема с pivot'ом
fortnetmaxwait,
Лишняя работа сервера есть твердая уверенность, что сервер будет заниматься этой бесполезной лишней работой?
...
Рейтинг: 0 / 0
09.02.2017, 12:36
    #39401524
Проблема с pivot'ом
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
16.02.2017, 17:26
    #39405984
fortnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с pivot'ом
Добрый Э - Эх,

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

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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с pivot'ом / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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