【发布时间】:2020-01-10 12:40:25
【问题描述】:
我的情况与MySql sql recursive loop 非常相似,但我无法回答关于添加 FullID 列的问题。
我有一个带有树层次结构的元素表树:
ID NAME PARENT
1 a null
2 b null
3 c 1
4 d 3
5 e 2
6 f 4
7 g 3
我怎样才能做出一个会返回这样的结果的查询:
a - c - d - f
a - c - g
b - e
我尝试使用 WHILE 循环,动态创建查询和临时表,但最终变得相当复杂并且没有用。
【问题讨论】:
-
"它最终变得相当复杂并且没有奏效。" - 请说明您尝试了什么以及为什么 它没有工作,以避免读者重复任何错误。
-
我不能在线发布代码,但是我做了一个临时表t0,插入了所有没有父项的条目,并循环创建了新表,插入了所有父项= t0.parent(或 t(i-1) 如果 i != 0),然后另一个循环将所有创建的表连接在一起。
-
“我无法在线发布代码”...为什么不呢?它不太可能成为革命性的商业秘密……尤其是在它不起作用的情况下。如果它以某种方式包含敏感名称或其他内容,则只需为此目的查找/替换它们。
-
您的树示例非常特别:它不会分叉。如果
c除了d之外还有一个孩子g怎么办? -
but the answer about adding a FullID column wouldn't be possible for me为什么?
标签: sql sql-server