我正在尝试实现以下结果(第一行是标题)
Level 1 | Level 2 | Level 3 | Level 4 | Person
Technicals | Development | Software | Team leader | Eric
Technicals | Development | Software | Team leader | Steven
Technicals | Development | Software | Team leader | Jana
我该怎么做?我尝试使用以下代码。第一部分是创建工作正常的层次结构。第二部分是在上面提到的表格中有日期是相当痛苦的。
SELECT * FROM ( /* level2 */
SELECT * FROM ( /* level1 */
SELECT * FROM arc.localnode /*create hierarchy */
WHERE tree_id = 2408362
CONNECT BY PRIOR node_id = parent_id
START WITH parent_id IS NULL ) l1node
LEFT JOIN names on l1node.prent_id = names.name_id ) l2node
在这一点上,我很失落。一些指导和建议会很有帮助:-)
有两张桌子。第一个表有这样的数据:
NODE_ID | PREV_ID | NEXT_ID | PARENT_ID
1421864 3482917 1421768
3482981 3482917 1421866 1421768
3482911 3060402 3482913 1421768
3482917 1421864 3482981 1421768
这很复杂,因为它处于层次结构中。所以很明显,一个 PARENT_ID 可以是其他一些 PARENT_ID 的 NODE_ID。同样,parent_ID 可以是 PREV_ID 和 NEXT_ID。
这些名称与 name_id 位于单独的表中。此表中的名称 ID 类似于层次结构中主表的 NODE_ID。