powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Иерархический запрос
38 сообщений из 38, показаны все 2 страниц
Иерархический запрос
    #35892331
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно в таблице Scott-Tiger найти для любой пары сотрудников вывести их ближайшего общего начальника!!! кто знает как? 2 рекурсии как-то сделать?
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892375
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разверни таблицу в вид сотрудник - начальник - дистанция, стартуя от двух сотрудников. Не забудь положить каждого сотрудника как "сам себе начальник, дистанция 0". Положи в with и сджойни саму с собой по условию начальник = начальник, сотрудник <> сотрудник. Выбери минимальную по сумме дистанций.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892390
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а код можно? как стартовать с 2-х id? так можно?
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892392
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
очень надо! помогите :) горят трубы!
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892465
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005очень надо! помогите :) горят трубы!

Код: 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.
28.
29.
30.
31.
COLUMN PATH1 FORMAT A30
COLUMN PATH2 FORMAT A30
SELECT  min(ename) keep (dense_rank first order by lvl) boss_ename,
        min(empno) keep (dense_rank first order by lvl) boss_empno,
        max(path) keep (dense_rank first order by lvl) path1,
        min(path) keep (dense_rank first order by lvl) path2
  FROM  (
         SELECT  ename,
                 empno,
                 path,
                 count(*) over(partition by empno) cnt,
                 min(lvl) over(partition by empno) lvl
           FROM  (
                  SELECT  ename,
                          empno,
                          ltrim(sys_connect_by_path(ename,'-->'),'->') path,
                          level lvl
                    FROM  emp
                    START WITH empno IN ( 7876 , 7902 )
                    CONNECT BY empno = PRIOR mgr
                 )
        )
  WHERE cnt =  2 
/


BOSS_ENAME BOSS_EMPNO PATH1                          PATH2
---------- ---------- ------------------------------ ------------------------------
JONES             7566  FORD-->JONES                   ADAMS-->SCOTT-->JONES

SQL>  

SY.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892501
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
SELECT MAX(MAX(EMPNO)) KEEP(DENSE_RANK FIRST ORDER BY MIN(LEVEL)) "Шеф" 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno
HAVING COUNT(*) =  2 
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892578
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот как Softwarer писал реализовать бы. Мне нужно для каждой пары сотрудников вывести их минимального общего начальника. То есть взять все пары и для них найти начальника.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892591
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005Мне нужно для каждой пары сотрудников вывести их минимального общего начальника. То есть взять все пары и для них найти начальника.
Код: plaintext
select e1.empno, e2.empno, (<select_by_andreymx>) as "Шеф" from emp e1, emp e2;
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892598
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymx
Код: plaintext
1.
2.
3.
4.
5.
SELECT MAX(MAX(EMPNO)) KEEP(DENSE_RANK FIRST ORDER BY MIN(LEVEL)) "Шеф" 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno
HAVING COUNT(*) =  2 
max(max(empno))
keep dense_mark first... и IN (:p1, :p2) Это что означает?
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892623
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005 и IN (:p1, :p2) Это что означает?Да-мс... Оказалось - бисер ...
...
Рейтинг: 0 / 0
Иерархический запрос
    #35892966
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А все же, напишите пожалуйста, если не тяжело, что значит max(max(empno)) почему 2 раза max. Keep dense_mark, in(:p1,:p2) что значит? Понимаю что для многих это очень просто. Напишите пожалуйста
...
Рейтинг: 0 / 0
Иерархический запрос
    #35893260
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обьясните просто как работает запрос написанный elic+andreymx!
...
Рейтинг: 0 / 0
Иерархический запрос
    #35893844
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005,

извини, но конструкция in (...) - это основы. Самое начало.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35893929
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
In уже понятно. Непонятно как в целом это работает. Опишите коротко. Тут же пару предложений
...
Рейтинг: 0 / 0
Иерархический запрос
    #35894906
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005In уже понятно. Непонятно как в целом это работает. Опишите коротко. Тут же пару предложений

В целом, оно парсится, выполняется и фетчится. Что конкретно не понятно: иерархия, групировка, FIRST/LAST?

PS: Чтоб не было иллюзий .
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895002
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Непонятно назначение Keep, 2 раза max и dense_mark. Объясните пожалуйста для чего они здесь.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895047
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполните по очереди эти три запроса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT EMPNO, LEVEL 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 


SELECT MAX(EMPNO), MIN(LEVEL), COUNT(*) 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno 

SELECT MAX(EMPNO), MIN(LEVEL)
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno 
HAVING COUNT(*) =  2 
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895067
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А Keep, dense_mark first для чего нужно? Max(max()) почему? Это описка?
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895088
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005,

а зачем поиск на форуме, гугл и документация? Запрос использует всё то, что Вам непонятно, чтобы решить задачу, с которой Вы не справились. Освойте хотя бы поиск...
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895090
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не дурак. Просто я сижу сейчас с телефона и не могу найти нормальную информацию по операторам. Мне сдавать в субботу, а дома я буду завтра под поздний вечер. Мне негде смотреть. Я в наряде сижу. Так бы я сам разобрался и вас не мучал.Вы же код уже написали, за что я очень благодарен
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895234
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Integer005[quot andreymx]
Код: plaintext
1.
2.
SELECT MAX(MAX(EMPNO)) KEEP(DENSE_RANK FIRST ORDER BY MIN(LEVEL)) "Шеф" 


что означает эта строчка?
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895240
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
SELECT MAX(EMPNO), MIN(LEVEL)
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno 
HAVING COUNT(*) =  2 
Row#MAX(EMPNO)MIN(LEVEL)178393275662Нам из этого набора нужно выбрать MAX(EMPNO) в той строке, в которой самое маленькое значение MIN(LEVEL).

Это и делает конструкция
SELECT MAX(MAX(EMPNO)) KEEP(DENSE_RANK FIRST ORDER BY MIN(LEVEL)) "Шеф"

Кстати, она безболезненно меняется на
SELECT MIN(MIN(EMPNO)) KEEP(DENSE_RANK FIRST ORDER BY MIN(LEVEL)) "Шеф".
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895267
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Having count(*)=2 это чтобы брать строки до тех пока не найдется общий потомок?
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895275
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005,

нет. Это чтобы оставить результаты группировки, для которых cnt(*) = 2.

PS: А может ну его, тот Оракл? Вон, в наряде сидите, до документации не достучаться...
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895280
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю сарказм неуместен. Будь я дома за компом, я после первого же совета, сел за комп и за изучение и сделал бы. А то что я не уделял должное внимание предмету моя вина и преподавателя ввиду непоследовательности обучения. Если я не силен в базах, то это далеко не значит вы умнее. У всех свои преимущества. А тяга к знаниям наоборот красит. Просто сейчас такая ситуация, что нет никакой документаци
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895288
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Был бы сейчас oracle на руках, разобрался бы давно. А так в голове пытаешься представить что делает подзапрос. А так бы видел результат, тестировал и понял смысл работы каждого элемента конструкции.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35895348
Integer005А вот как Softwarer писал реализовать бы. Мне нужно для каждой пары сотрудников вывести их минимального общего начальника. То есть взять все пары и для них найти начальника.Практически дословная реализация идеи . Единственное, что я, наоборот, решил исключить сотрудника из "начальника самому себе"

Код: 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.
28.
with
--
-- Взращивание "бамбуковой рощицы" "вертекалей власти" 
-- для каждого сотрудника:
  trees as
    (
      select empno, ename, level as lvl,
             trim(',' from sys_connect_by_path(decode(level, 1 ,empno),',')) as tree_id,
             trim(',' from sys_connect_by_path(decode(level, 1 ,ename),',')) as tree_name
        from emp
      connect by prior mgr = empno
    )
--
-- Построение всевозможных пар сотрудников 
-- и поиск ближайшего общего босса:
select max(least(t1.tree_name, t2.tree_name)) as ename_1,
       max(greatest(t1.tree_name, t2.tree_name)) as ename_2,
       max(t1.ename) keep(dense_rank first order by t1.lvl)as boss_name
  from trees t1
  join trees t2
    on t1.empno = t2.empno
   and t1.tree_id != t2.tree_id
   and t1.lvl !=  1  
   and t2.lvl !=  1 
 group by least(t1.tree_id, t2.tree_id), greatest(t1.tree_id, t2.tree_id)
 order by  1 , 2 ;

Query finished, retrieving results...

<== Для просмотра результата запроса жмыкать тут
Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
ENAME_1   ENAME_2   BOSS_NAME
-------   -------   ---------
ADAMS     ALLEN     KING       
ADAMS     BLAKE     KING       
ADAMS     CLARK     KING       
ADAMS     FORD      JONES      
ADAMS     JAMES     KING       
ADAMS     JONES     KING       
ADAMS     MARTIN    KING       
ADAMS     MILLER    KING       
ADAMS     SCOTT     JONES      
ADAMS     SMITH     JONES      
ADAMS     TURNER    KING       
ADAMS     WARD      KING       
ALLEN     BLAKE     KING       
ALLEN     CLARK     KING       
ALLEN     FORD      KING       
ALLEN     JAMES     BLAKE      
ALLEN     JONES     KING       
ALLEN     MARTIN    BLAKE      
ALLEN     MILLER    KING       
ALLEN     SCOTT     KING       
ALLEN     SMITH     KING       
ALLEN     TURNER    BLAKE      
ALLEN     WARD      BLAKE      
BLAKE     CLARK     KING       
BLAKE     FORD      KING       
BLAKE     JAMES     KING       
BLAKE     JONES     KING       
BLAKE     MARTIN    KING       
BLAKE     MILLER    KING       
BLAKE     SCOTT     KING       
BLAKE     SMITH     KING       
BLAKE     TURNER    KING       
BLAKE     WARD      KING       
CLARK     FORD      KING       
CLARK     JAMES     KING       
CLARK     JONES     KING       
CLARK     MARTIN    KING       
CLARK     MILLER    KING       
CLARK     SCOTT     KING       
CLARK     SMITH     KING       
CLARK     TURNER    KING       
CLARK     WARD      KING       
FORD      JAMES     KING       
FORD      JONES     KING       
FORD      MARTIN    KING       
FORD      MILLER    KING       
FORD      SCOTT     JONES      
FORD      SMITH     JONES      
FORD      TURNER    KING       
FORD      WARD      KING       
JAMES     JONES     KING       
JAMES     MARTIN    BLAKE      
JAMES     MILLER    KING       
JAMES     SCOTT     KING       
JAMES     SMITH     KING       
JAMES     TURNER    BLAKE      
JAMES     WARD      BLAKE      
JONES     MARTIN    KING       
JONES     MILLER    KING       
JONES     SCOTT     KING       
JONES     SMITH     KING       
JONES     TURNER    KING       
JONES     WARD      KING       
MARTIN    MILLER    KING       
MARTIN    SCOTT     KING       
MARTIN    SMITH     KING       
MARTIN    TURNER    BLAKE      
MARTIN    WARD      BLAKE      
MILLER    SCOTT     KING       
MILLER    SMITH     KING       
MILLER    TURNER    KING       
MILLER    WARD      KING       
SCOTT     SMITH     JONES      
SCOTT     TURNER    KING       
SCOTT     WARD      KING       
SMITH     TURNER    KING       
SMITH     WARD      KING       
TURNER    WARD      BLAKE      

 78  row(s) retrieved
...
Рейтинг: 0 / 0
Иерархический запрос
    #35897279
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005Думаю сарказм неуместен. Будь я дома за компом, я после первого же совета, сел за комп и за изучение и сделал бы. А то что я не уделял должное внимание предмету моя вина и преподавателя ввиду непоследовательности обучения. Если я не силен в базах, то это далеко не значит вы умнее. У всех свои преимущества. А тяга к знаниям наоборот красит. Просто сейчас такая ситуация, что нет никакой документаци

Это не тяга к знаниям. Это желание выучить китайский язык по методичке в курилке за час до экзамена. Не верю, что Вы можете зайти на sql.ru и не можете добраться сюда .
...
Рейтинг: 0 / 0
Иерархический запрос
    #35897501
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerInteger005Думаю сарказм неуместен. Будь я дома за компом, я после первого же совета, сел за комп и за изучение и сделал бы. А то что я не уделял должное внимание предмету моя вина и преподавателя ввиду непоследовательности обучения. Если я не силен в базах, то это далеко не значит вы умнее. У всех свои преимущества. А тяга к знаниям наоборот красит. Просто сейчас такая ситуация, что нет никакой документаци

Это не тяга к знаниям. Это желание выучить китайский язык по методичке в курилке за час до экзамена. Не верю, что Вы можете зайти на sql.ru и не можете добраться сюда . вот Вы смешной. Документацию думаете не читал. Msdn это святое :) я и не спорю что это задание мне надо сделать было быстро и на коленках без знаний. Но от учебы никуда не деться. Сейчас руки до оракла не дошли,но скоро дойдут. Вы в одном хорошо разбираетесь, я в другом. Но и оракл от меня не уйдет. Не переживайте.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35897523
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Integer005,

Да я как-то не переживаю... Вот только MSDN не сильно Вам с с вопросами по Ораклу поможет. Но Вы пробуйте, не сдавайтесь. Удачи Вам завтра.
...
Рейтинг: 0 / 0
Иерархический запрос
    #35897612
Integer005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я знаю что msdn не из этой оперы, но она как базовая документация к c++, так и ваша ссылка к ораклу база. я умею с этим работать свободно. просто так получилось. всем большое спасибо! простите за мою безграмотность в этом вопросе!
...
Рейтинг: 0 / 0
Иерархический запрос
    #35903974
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как результат?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Иерархический запрос
    #39354516
wlyaman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymx,
Не могу понять, зачем нам на этом этапе понадобилось брать MAX(EMPNO)? Ведь мы группируем по нему, и без MAX будет такой же результат? Или быть может я просто не могу смоделировать ту ситуацию, при которой не будет такого же результата.
Код: plsql
1.
2.
3.
4.
5.
SELECT MAX(EMPNO), MIN(LEVEL), COUNT(*) 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno 
...
Рейтинг: 0 / 0
Иерархический запрос
    #39354535
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wlyaman,

Вообще здесь вложенные агрегаты. Сначала находятся родители, которые общие для стартовых узлов, потом из них выбирается с минимальным уровнем (наиболее далекий от корня иерерхии учитывая старт).
...
Рейтинг: 0 / 0
Иерархический запрос
    #39354539
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with t as
(select 2 id, 0 id_parent from dual
union all select 10 id, 2 id_parent from dual
union all select 3 id, 10 id_parent from dual
union all select 4 id, 10 id_parent from dual
union all select 5 id, 4 id_parent from dual)
select 
max(id) keep (dense_rank first order by min(level)) x1,
min(id) keep (dense_rank first order by min(level)) x2,
max(id) y1,
min(id) y2
from t
start with id in (5, 4)
connect by prior id_parent = id
group by id
having count(*) = 2
/



Код: plaintext
1.
2.
3.
        X1         X2         Y1         Y2
---------- ---------- ---------- ----------
         4          4         10          2
1 row selected.
...
Рейтинг: 0 / 0
Иерархический запрос
    #39355026
wlyaman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopwlyaman,

Вообще здесь вложенные агрегаты. Сначала находятся родители, которые общие для стартовых узлов, потом из них выбирается с минимальным уровнем (наиболее далекий от корня иерерхии учитывая старт).

Вы меня, скорее всего, не так поняли. Я имею ввиду, зачем писать:
Код: plsql
1.
2.
3.
4.
5.
SELECT MAX(EMPNO), MIN(LEVEL), COUNT(*) 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno



Ведь можно написать так, и ничего не поменяется:
...
Рейтинг: 0 / 0
Иерархический запрос
    #39355027
wlyaman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wlyamandbms_photoshopwlyaman,

Вообще здесь вложенные агрегаты. Сначала находятся родители, которые общие для стартовых узлов, потом из них выбирается с минимальным уровнем (наиболее далекий от корня иерерхии учитывая старт).

Вы меня, скорее всего, не так поняли. Я имею ввиду, зачем писать:
Код: plsql
1.
2.
3.
4.
5.
SELECT MAX(EMPNO), MIN(LEVEL), COUNT(*) 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno



Ведь можно написать так, и ничего не поменяется:

Не дописал.
dbms_photoshopwlyaman,

Вообще здесь вложенные агрегаты. Сначала находятся родители, которые общие для стартовых узлов, потом из них выбирается с минимальным уровнем (наиболее далекий от корня иерерхии учитывая старт).

Вы меня, скорее всего, не так поняли. Я имею ввиду, зачем писать:
Код: plsql
1.
2.
3.
4.
5.
SELECT MAX(EMPNO), MIN(LEVEL), COUNT(*) 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno



Ведь можно написать так, и ничего не поменяется:
Код: plsql
1.
2.
3.
4.
5.
SELECT EMPNO, MIN(LEVEL), COUNT(*) 
  FROM EMP 
CONNECT BY empno = PRIOR mgr 
START WITH empno IN (:p1, :p2) 
GROUP BY empno
...
Рейтинг: 0 / 0
Иерархический запрос
    #39355042
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wlyaman,

Да, двойная функция избыточна.
Более того, после (первой) группировки ID становится уникальным, так что без разницы какую из функций max/min/avg/sum etc
использовать в случае указания keep.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Иерархический запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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