我有这样的表,其中TT_PLAN_TASK_ID有其父在TT_GROUP_ID的ID:如何确定建成邻接表模型表“嵌套层次”
这代表树的数据如下:
我想按照树的顺序排序表数据。
我认为如果能够按照指示计算'嵌套层次',那么它就像嵌套层次+ tt_fromdate一样简单。
思想/要求:
水平的数量是无限的。对于有限的几个级别,我可以做一些repeated joins on the same table。 This approach looked nice too,但又是有限的深度。
我不能使用存储过程(然后计算嵌套级别会很容易)
归根结底,这已经对火鸟,MS SQL,甲骨文工作。 Oracle的CONNECT BY似乎是一种选择,但这并不能解决其他两个问题。
当组节点处于同一级别并且它们的开始日期相同时,它们的顺序无关(树视图中的ID 225和226都在28-4-2012开始,226可能在225之前或之后)
速度并不重要,它是一个时间转换,我不希望客户能够得到20+的水平
[编辑]我刚刚发现我的第二张照片应该算级别0 1 2 3 ,而不是0 1 2 3 4 ;-)
如何计算这个嵌套级别?
或者这是从哪里来的:我如何根据树来排序?
据我可以告诉火鸟唯一真正的区别是'WITH RECURSIVE'而不是'WITH' – 2014-09-30 07:27:55