【发布时间】:2021-05-20 11:47:05
【问题描述】:
我想从如下所示的数据构建一个父子链接:
| id_node | main_node | level |
|---|---|---|
| A9 | A9 | 0 |
| 92 | A9 | 1 |
| 923 | A9 | 2 |
| 9234 | A9 | 3 |
有没有一种简单的方法来反转这个表并为每一行添加父 id 并得到这样的东西:
| id_node | main_node | level | parent |
|---|---|---|---|
| A9 | A9 | 0 | NULL |
| 92 | A9 | 1 | A9 |
| 923 | A9 | 2 | 92 |
| 9234 | A9 | 3 | 923 |
我不是要遍历每个 id,我想知道是否有类似 this one 的方法,但有点还原。
【问题讨论】:
-
left(id_node, len(id_node) - 1)?您还需要考虑到A -
我应该提到我正在寻找一种解决方案,无论其背后的价值观和逻辑如何。例如,id 9234 可以在明天被 ZZ2 替换。
-
那你建议如何识别直系父母?
-
我在想如果有一个公式可以从一个完整的表中获取一行的节点级别,那么可能有一种方法可以从根 id + 节点级别构建表
-
仍然不确定我明白你的意思,请描述确切的逻辑。记住表格没有内在的顺序,你需要给一个
order by
标签: sql sql-server hierarchy hierarchical-data hierarchical