在树视图中显示记录

时间:2012-02-22 07:38:54

标签: database data-structures treeview

我有一张包含以下数据的表格

Col1  Col2

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

P     null

C1     P

C2     P

C11    C1

C12    C1

C21    C2

Col2表示父列。

我想以树形式显示数据

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

是否有任何工具/程序以树格式显示数据库记录?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Oracle:

试试hierarchical queries。使用LEVELCONNECT_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;