我有2个链接表来报告: - 1st保留解决方案并链接到第二个。重要的字段是solution,type,typeID - 2nd包含有关类别的信息。要使用的字段是typeID,type,parentTypeID,treeLvl。 parentTypeID指的是结构中更高级别的typeID。
我需要获得解决方案和类型来重新创建整个树结构。目前我使用Left Outer Join将第二个表链接到自己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
答案 0 :(得分:0)
我很自信地说你想做什么是不可能的。类型是否更改或该表是否相当静态?有很多价值观吗?您可以考虑将键/值对实际带入循环函数。
您的数据源是什么?你可能会有更好的机会在源头实现这一点(使用sproc / function / view)
我没有测试过,但这是Google使用公用表格表达式的第一个结果:http://mycodingexperience.blogspot.co.uk/2011/04/common-table-expression-cte-and-tree.html