跳转到内容

Table Hierarchy Closure 步骤

表:层次结构闭包 步骤会沿父级链向上遍历每一行,并为每一行及其每个祖先写入一个输出行。没有深度限制。距离列对行本身为 0,对其父级为 1,依此类推。

遍历会在根节点、节点表中不存在的父级,或已经遇到过的节点处停止,因此父级 ID 中的循环不会无限运行。出现循环时,会保留直到重复节点为止的所有祖先。没有任何根节点可到达的循环,会在其最小 ID 处结束。

  • 遍历起点行:起始遍历的行所在的表。
  • ID 列 和 父级列:每一行的 ID 及其父级的 ID。NULL 或该行自身的 ID 表示根节点。
  • 节点表 (可选):遍历向上攀升所依据的节点表。留空则使用源表。
  • 节点 ID 列 和 节点父级列 (可选):默认为 ID 列和父级列。具有多行的 ID 会优先沿用根节点行,否则沿用其最小的父级。
  • 祖先列:保存祖先 ID 的输出列。默认为 Ancestor。
  • 距离列:与起始行相距的步数。默认为 Distance。
  • 沿路径构建的字符串 (可选):遍历向上攀升时要累积的每个文本列对应一行。每行包含:
    • 输出列:新列。
    • 源列:作为文本读取的列;如果节点表中的列不同,则使用 节点列 从节点表读取。
    • 分隔符:值之间的文本。
    • 非重复:跳过文本中已有的值。
    • 根在前:将每个祖先放在目前已有文本之前。
  • 输出表:写入结果的位置。

输出包含 ID 列和父级列、祖先列和距离列,以及您构建的每个字符串对应的一个文本列。