SQL (根据子节点查询父节点信息)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL (根据子节点查询父节点信息)相关的知识,希望对你有一定的参考价值。
题目是这样的:
在数据库中有这样的数据
0 问题类型 -1
1 财务管理 0
2 设备管理 0
3 项目管理 0
4 物质管理 0
5 人资管理 0
6 领导查询 0
7 工作流 0
8 员工自助服务 0
9 企业门户 0
10 其他问题 0
11 SES员工自助报销 0
12 人事操作 5
13 过账问题 5
14 工资标准 5
15 信息维护 5
16 调动操作 12
17 退休操作 12
18 其他人事操作 12
19 过账操作 13
20 过账冲销 13
21 工资核算 14
22 工资结果删除 14
23 公积金与保险上下限基数 14
25 工资信息 15
显示当nodeId = 25时显示它的所有父级节点信息名
也就是 5,人资管理/15,信息维护/25,工资信息,
nodeId nodeName parentId
0 问题类型 -1
.. ... ...
declare @level int
declare @findid int
--初始化数据
set @findid = 25/*找nodeId = 25*/
--end of 初始化数据
set @level = 1
insert @lt select @findid,@level
while @@rowcount > 0
begin
set @level = @level + 1
insert @lt select a. parentId,@level
from 你的表名 a, @lt b
where a.nodeId = b.nodeId and b.level = @level - 1
end
--连接得到结果
select a.*
from 你的表名 a inner join @lt b
on a.nodeId=b.nodeId 参考技术B http://blog.csdn.net/feixianxxx/archive/2009/07/25/4379342.aspx本回答被提问者和网友采纳
mysql如何根据很多子节点查询出父节点,只要一条路径上的
各位大神求助,现知道很多用户ID,部门结构是一个树结构,用户表里有部门ID,怎么通过用户ID反向查出树结构啊,关键是有很多的用户ID,而且这些用户不一定在同一个目录下,就比如是一个考核员看所有他管辖的不同部门人员,同时要把组织机构树也展示出来,但是考核员非管辖的人员以及组织不展示。
之前一直用的oracle,才发现mysql这么麻烦,完全小白的感觉。。。谢谢各位大神,着急啊
start wITh 列名='0000000001'
connect by prior 列名(孩子列所有的列名)=列名(父列所有的列名)
这个查出来的样式如下:
000000000001>00000000>0000
不知道是不是你想要的。追问
谢谢你哈,我说的是MySQL,Oracle的这个我知道。
谢谢你哈,我说的是MySQL,Oracle的这个我知道。
谢谢你哈,我说的是MySQL,Oracle的这个我知道。
以上是关于SQL (根据子节点查询父节点信息)的主要内容,如果未能解决你的问题,请参考以下文章