отображать записи в виде дерева - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть таблица со следующими данными

Col1  Col2

---------------

P     null

C1     P

C2     P

C11    C1

C12    C1

C21    C2

Col2 обозначает родительский столбец.

Я хочу отобразить данные в виде дерева

P    
|_C1
|  |_C11
|  |_C12
|_C2
   |_C21

Существует ли какой-либо инструмент / программа, отображающая записи базы данных в древовидном формате?

1 Ответ

1 голос
/ 22 февраля 2012

Если вы используете Oracle:

Попробуйте иерархические запросы .Используйте LEVEL и CONNECT_BY_ISLEAF псевдостолбцы, чтобы решить, нужно ли проводить начальные линии и как.

Примерно так:

SELECT CASE WHEN LEVEL = 1
            THEN col1
            ELSE LPAD( '_' || col1, ( LEVEL - 1 ) * 4, '|  ' )
       END output
FROM   tab1
CONNECT BY PRIOR col1 = col2
START WITH col2 IS NULL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...