0

我有 2 个链接表要报告: - 第一个保留解决方案并链接到第二个。重要的字段是解决方案、类型、类型 ID - 第二个包含有关类别的信息。要使用的字段是 typeID、type、parentTypeID、treeLvl。parentTypeID 是指结构中更高级别的类型ID。

我需要获得解决方案和类型来重新创建整个树结构。目前,我使用左外连接将第二个表链接到自身 5 次,但想在循环中进行。

我正在考虑这些方面的事情,但需要它起作用:

numberVar level := {KBTYPES.TREELVL};
stringVar currentType;
numberVar type;
while level >= 1 do 
(
currentType := {KBTYPES.TYPE} & currentType;
type := {KBTYPES.ParentKBTypeId};
{KBTYPES.KB_TYPEID} := type;
level -1;
);
currentType
4

1 回答 1

0

我很有信心说你想做的事情是不可能的。类型会改变还是该表相当静态?有很多价值观吗?您可以考虑将键/值对实际带入循环函数中。

你的数据源是什么?您可能有更好的机会在源头实现这一目标(使用存储过程/函数/视图)

我没有测试过,但这是谷歌使用公用表表达式的第一个结果:http: //mycodingexperience.blogspot.co.uk/2011/04/common-table-expression-cte-and-tree.html

于 2012-05-28T10:13:22.387 回答