Oracle 11 запрос для объединения нескольких строк в 1 строку - PullRequest
0 голосов
/ 13 декабря 2018

Мы используем Oracle 11. Есть 3 столбца: ID, ParentID, Уровень, Имя.

Уровень 1 - это высший уровень, затем уровень 2, затем уровень 3.

ДляПример:

ID  ParentID  Level Name
10   12         3   Name10
11   (null)     1   Name11
12   11         2   Name12

Как создать запрос, который будет возвращать их в 1 строку, как показано ниже:

ID  ParentID  NameParent    Child1  NameChild1  Child2  NameChild2
11  (null)    Name11        12      Name12      10      Name10

Спасибо.

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете объединить таблицу с собой, чтобы объединить все три строки в одну:

select
  t1.id, t1.parentid, t1.name as nameparent,
  t2.id as child1, t2.name as namechild1,
  t3.id as child2, t3.name as namechild2  
from my_table t1
join my_table t2 on t2.parentid = t1.id
join my_table t3 on t3.parentid = t2.id
where t1.parentid is null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...