Oracle SQL Сортировка двух значений столбцов, связанных друг с другом - PullRequest
1 голос
/ 06 января 2020

Моя таблица как показано ниже

CC1  CC2
675  876
123  987
453  123
876  453
987  432

Желаемый результат

CC1  CC2
675  876
876  453
453  123
123  987
987  432

Ответы [ 2 ]

0 голосов
/ 06 января 2020

Вам необходимо использовать иерархический запрос как

select cc1 , cc2 
  from tab
 start with cc1 = 675
connect by prior cc2 = cc1;

Демо

Обновление: Да, то, что вы предложили, является таким хорошим соотношением для определения root динамически, или

select * 
  from tab 
 start with CC1 = (select CC1 
                     from tab t 
                    where not exists (select CC1
                                        from tab
                                       where CC2 = t.CC1 )) 
connect by prior CC2 = CC1

также возможно.

0 голосов
/ 06 января 2020

sql Иерархические запросы

SELECT employee_id, last_name, manager_id
   FROM employees
   CONNECT BY PRIOR employee_id = manager_id;

относятся к https://docs.oracle.com/database/121/SQLRF/queries003.htm#SQLRF52335

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...