当前位置: 首页 > 面试题库 >

如何获得所有parents的parents作为循环引用表中子对象的列?

印晋
2023-03-14
问题内容

我有一张表,上面有列

entityID, entityName, parentID

如何编写查询以返回实体的所有父级,以返回类似

childentityname, parentlevel1name, parentlevel2name, parentLevel3name and so on

无论如何,我不是SQL忍者。这可能吗?如果是这样,怎么办?

我正在使用Microsoft SQL Server DB。


问题答案:

您需要在此处查找递归CTE (编辑:仅在SQL SERVER 2005+中)

类似于以下内容:

WITH recurse_cte (entityID,entityName, parentID, Level)
AS
(
-- Anchor member definition
    SELECT e.entityID,e.entityName, e.parentID,
        0 AS Level
    FROM self_joined AS e
        UNION ALL
-- Recursive member definition
    SELECT e.entityID,e.entityName, e.parentID,
        Level + 1
     FROM self_joined AS e
    INNER JOIN recurse_cte AS cte
        ON e.entityID = cte.parentID
)

select * from recurse_cte


 类似资料:
  • 描述 (Description) parents( [selector] )方法获取一组元素,这些元素包含除根元素之外的匹配元素集的唯一祖先。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>selector</i>.parents( [selector] ) 参数 (Parameters) 以下是此方法使用的所有参数的说明 - selector - 这是用于过滤祖先的可选选择器。

  • 问题内容: 我有一个具有@Embedded类Profile的User类。如何给Profile实例引用其所有者User类? 问题答案: 假设JPA而不是严格地处于hibernate状态,则可以通过应用getter / setter对而不是私有成员本身来实现。 但是,我想问的是,在这种情况下,嵌入式实体是否就是您想要的,而不是@OneToOne关系,或者只是将Profile类“展平”到User中。@E

  • 这个版本新增 next(),prev(),parent(),parents() 这4个选择元素的方法还是比较常用的 首先我们需要一个func来过滤我们需要的dom function sibling(cur, dir) { while ((cur = cur[dir]) && cur.nodeType !== 1) {} return cur; } 上面那段比较简单,就是普通的过滤

  • 本文向大家介绍jQuery中closest和parents的区别分析,包括了jQuery中closest和parents的区别分析的使用技巧和注意事项,需要的朋友参考一下 jQuery中closest和parents从表现上来看都是说查找上线元素的一些内容了,但如果说仔细可能各位不懂,下面我们一起来看看closest和parents区别。 1.父级 parent()——唯一父级元素,可能是0个或1

  • 问题内容: 是否有可能在Java中获得对对象的所有引用。 我需要检查的是对象是否删除了所有的回调订阅。 谢谢 问题答案: 这可以通过JVMTI实现,并且通常由堆分析器完成。但是,它不能在Java内部完成。

  • 我有一个包含循环引用的JavaScript对象定义:它有一个引用父对象的属性。 它还有一些我不想传递给服务器的函数。如何序列化和反序列化这些对象? 我读过这样做的最好方法是使用Douglas Crockford的stringify。但是,我在Chrome中遇到以下错误: 将圆形结构转换为JSON 守则: 这是我为这个问题创建的测试用例。这段代码中有一些错误,但基本上我在对象中有对象,并向每个对象传