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

当ID和父母ID在同一张表中时,我可以选择父母的完整层次结构吗?

班承德
2023-03-14
问题内容

我有一个表,该表的Id和parentId列。ParentId包含表中另一行的ID。如果ParentId为null,则它是层次结构的顶部。

我有一行ID,并且我想在层次结构中选择其上方的所有行。我可以一次选择吗?

所以在这个例子中:

ID | parentId | 其他列
1 | null
2 | 1
3 | 2

如果我的id = 3,我想选择行1,2,3。

我可以在linq to sql中做到吗?


问题答案:

您可以使用递归CTE一次选择它,但是LINQ to SQL不支持此操作,因此您必须使用查询创建存储过程,然后从LINQ to
SQL调用该存储过程。



 类似资料:
  • 问题内容: 当我需要调用也可以注入的父构造函数时,如何处理Guice?例如,我有一个抽象的父类,它有一个构造函数,该构造函数注入了所有派生子对象共享的对象,并且每个子对象也都有一个可注入的构造函数。 调用super()不会成功,因为Java希望我将对象作为参数传递,而不要让Guice注入。 谢谢 编辑:我想知道是否可能我需要使用方法注入? 问题答案: 如果您不使用Guice,则需要做与您做的完全相

  • 问题内容: 我正在学习SQL,并具有一些类似于以下内容的表: (*表示主键,如果是Customer和Employee,则既是PK又是返回给Person的FK) Customer和Employee都是Person的类型,我想确保在将记录插入Person时,也必须将记录插入EITHER Customer或Employee,但不能同时插入两者。在此示例的限制范围内,人员不能同时是雇员和客户。 有人告诉我

  • 问题内容: 有两个SQL表: 我想用单个查询从Parents表中选择每一行,并从Childs表中为具有关系“ parent”-“ id”值和最大“ feature”列值的每一行选择一个查询。在此示例中,结果应为: 其中p =父表,c =子表 我试图离开外部联接和GROUP BY,但是MSSQL Express告诉我,使用GROUP BY进行查询需要在每个非Groupped字段上使用聚合函数。而且我

  • 如果我有这样一门课: 获取节点的所有父层次结构的最简单/最优雅的方法是什么? 类似于:

  • 我希望开发一个web应用程序使用谷歌驱动器API,但我面临的问题检索父母的信息关于一个文件。 我有一个名为“文件1-1-1”的文件,它对应于以下路径/树结构: 就这样!!! 没有对文件夹%1的引用!! 如果我在树结构中不断深入,我会遇到同样的问题:只返回一个父级。

  • 问题内容: 问题是这样的:我有一个抽象类,该抽象类在其构造函数中执行某些工作,还有一组实现抽象类的子类: 然后,需要定制具体的类,一种解决方案是扩展具体的类: 但是问题在于自定义类仅需要调用抽象类的构造函数,而无需调用具体类的构造函数。 您如何实现的?更改班级关系的建议是有效的。 编辑:具体示例是ConcreteClass1和CustomizedClass1具有不同的数据集(ConcreteDat