mysql 查询父节点

SELECT T2.id, T2.name, T2.pid
FROM (
SELECT
@r AS _id,
(SELECT @r := pid FROM tree WHERE id = _id) AS pid,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 12, @l := 0) vars,
tree h
WHERE @r <> 0) T1
JOIN tree T2
ON T1._id = T2.id

时间: 2024-10-29 19:07:07

mysql 查询父节点的相关文章

mysql 递归查询父节点 和子节点

查父集合 --drop FUNCTION `getParentList` CREATE FUNCTION `getParentList`(rootId varchar(100)) RETURNS varchar(1000) BEGIN DECLARE fid varchar(100) default ''; DECLARE str varchar(1000) default rootId; WHILE rootId is not null do SET fid =(SELECT parentid

SQL查询父节点下的所有子节点(包括子节点下的子节点,无限子节点)

-->Title:Generating test data -->Author:wufeng4552 -->Date :2009-09-30 08:52:38 set nocount on if object_id('tb','U')is not null drop table tb go create table tb(ID int, ParentID int) insert into tb select 1,0 insert into tb select 2,1 insert int

Mysql 通过父节点ID获取所有子节点数据函数

BEGIN DECLARE sTemp text; DECLARE sTempChd text; SET sTemp = '$'; SET sTempChd =cast(rootId as CHAR); WHILE sTempChd is not null DO SET sTemp = concat(sTemp,',',sTempChd); SELECT group_concat(deptId) INTO sTempChd FROM ch_class where FIND_IN_SET(dept

Oracle父节点及其子节点数据的查询

Oracle语句如下: 使用方法:start with.....connect by prior.其中start with后面跟的条件1是父节点的查询条件,connect by prior后面跟的条件2是与记录的父节点相同的子节点中的数据. 示例: SELECT id, name as text, parent_id as parentId from TF_SYS_T_ACTION action where 1 = 1 and action.id in (select caction.actio

递归解决根据父节点遍历权限树菜单的问题--------mysql数据中的树表

本人几乎没写过博客,感觉要学的知识和要做的事情太多,没时间.但发现用博客记录自己学习心得非常好,就抽时间写点,供自己以后参考也分享给某些需要的人,我水平有限,请多指教! 最近在独自尝试开发一个小型的oa系统以巩固下自己对java ssh框架的学习.这里记录下开发中的一些心得体会. 我把系统菜单设计成树,用一张表存储,各个菜单项之间是父子关系,当我们要根据用户权限去数据库中取菜单项时,发现sql语句不好解决.之前在网上查看了一些帖子博文,发现oracle中有对这个需求有专门的sql语句:类似这样

ORACLE 树形遍历查询根节点、父节点、子节点

1.准备演示数据 创建表结构: -- Create table createtable Z_ORG(  cid         NUMBER,  cname       VARCHAR2(32),  parent_id   NUMBER,  create_time DATE,  org_level   NUMBER) tablespace POWERDESK pctfree10 initrans1 maxtrans255; -- Add comments to the table comment

SQL查询指定节点及其所有父节点的方法

--查询ID = '009'的所有父节点 SET @ID = '009' ;WITH T AS ( SELECT ID , PID , NAME FROM TB WHERE ID = @ID UNION ALL SELECT A.ID , A.PID , A.NAME FROM TB AS A JOIN T AS B ON A.ID = B.PID ) SELECT * FROM T ORDER BY ID /* ID PID NAME ---- ---- ---------- 001 NULL

Oracle树查询(查询所有子节点,父节点等等)_转载

Oracle树查询(查询所有子节点,父节点等等) 转载 2016年01月14日 10:11:55 Oracle树查询的最重要的就是select...start with... connect by ...prior 语法了.依托于该语法,我们可以将一个表形结构的中以树的顺序列出来.在下面列述了Oracle中树型查询的常用查询方式以及经常使用的与树查询相关的Oracle特性函数等,在这里只涉及到一张表中的树查询方式而不涉及多表中的关联等. 以我做过的一个项目中的表为例,表结构如下: Sql代码 1

数据表查询所有子/父节点

查询所有子节点 with Select_child(id,parentId,value,level) as( select id,parentid,value,0 as level from ctable where parentid=2 union all select c.id,c.parentid,c.value,sc.level+1 from ctable c inner join Select_child sc on c.parentId=sc.id ) select * from S