如何根据子查询 所有父一级跟上跟上一级的所有节点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据子查询 所有父一级跟上跟上一级的所有节点?相关的知识,希望对你有一定的参考价值。

select *
from userInfo
where id = (select tt2.parent_no from userInfo tt2 where id = '1')

现在是根据子ID查询出一级的父,怎么迭代的查询出所有 更上一级的..返回结果为当前ID和所有父辈,爷爷辈的数据

参考技术A 这个要看你的数据库, 是不是支持 CTE 了

SQL Server 2005 以上版本, 开始支持的。
DB2 也是支持的 (具体哪个版本开始就不清楚了)

with StepCTE AS
(
SELECT
*
FROM
userInfo
WHERE
id = '1'
UNION ALL
SELECT
tt2.*
FROM
userInfo tt2 JOIN StepCTE
ON ( tt2.id = StepCTE .parent_no )
)
SELECT
*
FROM
StepCTE

如果是 Oracle , 那么使用 lcglarry 的方法追问

提交问题的时候刷新了下,百度有bug,所以我提交了两个一样的问题.. 你去回答另外一个吧

参考技术B SELECT u.id,u.parent_no
FROM userInfo u
CONNECT BY PRIOR u.parent_no=u.id
START WITH u.id='1'本回答被提问者采纳

C# XML 输出xml根节点下的直接(第一级)子节点所有的属性的名字和值

1 xml文件内容

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <cultures>
 3 
 4     <daojia count="100" comment="good">
 5         <book> 
 6             <name> 道德经</name>
 7             <author>老子</author>
 8         </book>
 9         <book > 
10             <name> 文始真经</name>
11             <author>关尹子</author>
12         </book>
13     </daojia>
14 
15     <fojia count="321" comment="good">
16         <book >
17             <name>金刚经</name>
18             <author>释迦牟尼佛</author>
19         </book>
20         <book>
21             <name>地藏菩萨本愿经</name>
22             <author>地藏王菩萨</author>            
23         </book>
24     </fojia> 
25           
26 </cultures>

 

 

2 代码

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Xml.Linq;
 7 
 8 namespace ConsoleApplication8
 9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             //1.xml文件的格式必须是正确的
15             XDocument file = XDocument.Load("1.xml");
16             
17             //获取xml文件的根节点
18             XElement xmlRoot = file.Root;
19 
20             //获取根节点下的第一级子节点
21             IEnumerable<XElement> nodeFirst=xmlRoot.Elements();
22 
23             foreach (var item in nodeFirst)
24             {
25 
26                 var iAttres= item.Attributes();
27                 foreach (var i in iAttres)
28                 {
29                     Console.WriteLine(i.Name+" "+i.Value);
30                 }
31             }
32 
33             Console.ReadKey();
34         }
35     }
36 }

 

 

3 效果

技术分享

以上是关于如何根据子查询 所有父一级跟上跟上一级的所有节点?的主要内容,如果未能解决你的问题,请参考以下文章

winform中,TreeView如何只展开一级节点

sql server根据一级分类查询所有子级分类

如何获取jquery easyui Tree的 (1)某一节点下的所有子节点,(2)某节点下的一级节点

mysql如何根据很多子节点查询出父节点,只要一条路径上的

Element UI tree 组件 获取所选最高一级的节点

java如何实现二级树形菜单动态显示。要求加载页面时显示一级,点击一级菜单再去数据库查找出二级菜单