Asp.net 如何查询多根加过滤的嵌套集模型
如何查询具有多个根的嵌套集模型,例如同一表中的树?目前,我添加了一个名为“Root”的额外列,用于指示所有子树节点的根节点的ID,但是,我无法找到按正确顺序检索它们的sql 我指的是那篇文章 通常,按顺序检索项目的查询是按左叶值的顺序进行的,但如果有多个根,则可能会一个接一个地返回多个“left:1”,例如打破树 我目前正在使用一个与SQL完全无关的解决方案。我在我的C#代码中对它们进行了重新安排,但我只是想知道是否有一种方法可以用SQL这样做,从而节省我在web服务器上花费的时间 最后一个问题。如果我有一个过滤器,它从树中过滤出一些数据,你如何处理它 说Asp.net 如何查询多根加过滤的嵌套集模型,asp.net,sql,nested-sets,Asp.net,Sql,Nested Sets,如何查询具有多个根的嵌套集模型,例如同一表中的树?目前,我添加了一个名为“Root”的额外列,用于指示所有子树节点的根节点的ID,但是,我无法找到按正确顺序检索它们的sql 我指的是那篇文章 通常,按顺序检索项目的查询是按左叶值的顺序进行的,但如果有多个根,则可能会一个接一个地返回多个“left:1”,例如打破树 我目前正在使用一个与SQL完全无关的解决方案。我在我的C#代码中对它们进行了重新安排,但我只是想知道是否有一种方法可以用SQL这样做,从而节省我在web服务器上花费的时间 最后一个问题
- 任务1(进行中)
- 任务2(活动)
- 任务3(活动)
- 任务2(活动)
ChssPly76!我真的很喜欢你对过滤器的想法,这很有意义!!!我从来没有这样想过。我认为在可用性方面,你的第一种方法对非技术用户最有意义,我会完全按照你的建议去做。非常感谢!关于多个根的方法,在执行select时效果很好,但是如果在node1(2,3)下再添加两个新节点会怎么样?所以应该是Node1(1,8)…Node1(2,7)…Node1(3,4)…Node1(5,6)我们得到了重复的值?不客气:-)我不太明白你所说的“重复”是什么意思-如果你要在Node1下添加另一个节点,那么所有大于父节点左索引的左/右索引(例如Node1)都必须更改。不要认为这些“根”是完全分开的;这不是嵌套集模型设计的操作方式。将它们视为在某个“不可见主节点”下的常规节点。所有操作(添加/移动/删除注释)仍然适用于并(可能)影响所有节点。再次感谢ChssPly76。我的大脑没有早点恢复过来。我明白你现在在说什么了。我终于可以在这个周末完成了!