1.SELECT * FROM ubox_topo;
| TOPO_ID | PARENT_ID | NODE_TYPE | HIERARCHY | DB_TYPE | TS | OPERATOR | DELETE_MARK |
|---|---|---|---|---|---|---|---|
| 0 | -1 | 0 | [0] | 0 | 0 | ||
| 1 | 0 | 0 | [0]-[1] | 0 | 0 | ||
| 2 | 0 | 0 | [0]-[2] | 0 | 0 | ||
| 3 | 0 | 0 | [0]-[3] | 0 | 0 | ||
| 4 | 1 | 0 | [0]-[1]-[4] | 0 | 0 | ||
| 5 | 1 | 0 | [0]-[1]-[5] | 0 | 0 | ||
| 6 | 1 | 0 | [0]-[1]-[6] | 0 | 0 | ||
| 7 | 1 | 0 | [0]-[1]-[7] | 0 | 0 | ||
| 57 | 0 | 1 | [0]-[57] | 0 | 0 | ||
| 9 | 6 | 0 | [0]-[1]-[6]-[9] | 0 | 0 | ||
| 35 | 6 | 1 | [0]-[1]-[6]-[35] | 0 | 0 | ||
| 34 | 9 | 1 | [0]-[1]-[6]-[9]-[34] | 0 | 0 | ||
| 53 | 51 | 1 | [0]-[51]-[53] | 0 | 0 | ||
| 54 | 52 | 1 | [0]-[51]-[52]-[54] | 0 | 0 | ||
| 38 | 3 | 1 | [0]-[3]-[38] | 0 | 0 | ||
| 51 | 0 | 1 | [0]-[51] | 0 | 0 | ||
| 56 | 1 | 1 | [0]-[1]-[56] | 0 | 0 | ||
| 55 | 0 | 1 | [0]-[55] | 0 | 0 | ||
| 10 | 6 | 0 | [0]-[1]-[6]-[10] | 0 | 0 | ||
| 52 | 51 | 1 | [0]-[51]-[52] | 0 | 0 | ||
| 63 | 3 | 1 | [0]-[3]-[63] | 0 | 0 |
2. SELECT
t.TOPO_ID
,LEVEL
,t.PARENT_ID
,HIERARCHY
,t.hierarchy
FROM ubox_topo t
CONNECT BY t.PARENT_ID = PRIOR t.TOPO_ID AND LEVEL=2
START WITH t.TOPO_ID = 0
| TOPO_ID | LEVEL | PARENT_ID | HIERARCHY | HIERARCHY |
|---|---|---|---|---|
| 0 | 1 | -1 | [0] | [0] |
| 1 | 2 | 0 | [0]-[1] | [0]-[1] |
| 2 | 2 | 0 | [0]-[2] | [0]-[2] |
| 3 | 2 | 0 | [0]-[3] | [0]-[3] |
| 51 | 2 | 0 | [0]-[51] | [0]-[51] |
| 55 | 2 | 0 | [0]-[55] | [0]-[55] |
| 57 | 2 | 0 | [0]-[57] | [0]-[57] |
本文介绍了如何使用Oracle SQL进行层次查询,通过示例展示了如何从根节点(TOPO_ID=0)开始,递归查询到级别为2的子节点。主要涉及的查询语句包括CONNECT BY 和 START WITH子句,以及LEVEL和PARENT_ID字段的应用。

2303

被折叠的 条评论
为什么被折叠?



