作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含分层数据的表,结构如下:
ID ParentId
---- ----------
1 NULL
2 1
3 2
4 2
5 3
6 5
如果我传递节点 ID,我希望通过在 SQL 中遍历其所有父节点来获取最顶层的节点 ID/详细信息。
我尝试了 CTE,但不知何故无法获得正确的组合。然而,我把它作为一个函数来工作,但它太慢了,我不得不发布这个问题。
在上面的例子中,如果我通过 6,我希望得到最上面的值,即 1。通过遍历 6 => 5 => 3 => 2 => [1](结果)
预先感谢您的帮助。
最佳答案
DECLARE @id INT = 6
;WITH parent AS
(
SELECT id, parentId, 1 AS [level] from tbl WHERE id = @id
UNION ALL
SELECT t.id, t.parentId, [level] + 1 FROM parent
INNER JOIN tbl t ON t.id = parent.parentid
)
SELECT TOP 1 id FROM parent ORDER BY [level] DESC
@TechDo 的答案假设最低的 ID 将是父级。如果您不想依赖于此,则上述查询将按深度排序。
关于sql - 获取层次结构表中子项的根父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523560/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!