添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
SELECT @ids AS _ids, ( SELECT @ids := GROUP_CONCAT( ou ) FROM sys_new_org WHERE FIND_IN_SET( parent_id, @ids ) ) AS cids,@l := @l + 1 AS LEVEL sys_new_org, ( SELECT @ids := '50002001', @l := 0 ) b WHERE @ids IS NOT NULL ) id, sys_new_org DATA WHERE FIND_IN_SET( DATA.ou, ID._ids ) 1,给出公司,查出公司的所有父级。SELECT ou, cn, company_id, company_name, parent_id, new_order, create_time, is_company FROM ( select @id as _id, (select @id := parent_id from sys_new_org where ou in (_id)) as ids from sys_new_org t where
这里用到了一个函数with WITH CategoryInfo AS( SELECT StuId,StuName,StuParent FROM dbo.Class WHERE StuId = id UNION ALL SELECT a.StuId,a.StuName,a.StuParent FROM dbo.Class AS a,CategoryInfo AS b WHERE a.StuI
通常我们在编写程序时,在建立数据表时,会有建立 父级 ,然后逐层建立子级,子级的记录会包含其上层的 父级 Id,这样形成了多个层级,如何根据 父级 Id,一次性得到所有的子级记录,下文做介绍。 我们在 数据库 中建立数据表tbtree. 下面展示一些 内联代码片。 select * from T_SYS_DIC start with dic_id = '1000076' CONNECT BY PRIOR dic_id = parent_dic_id 对应结果:可以看出所有数据均为父 id为 1000
with 自定义结果名称(Id,Name,Pid) as (   select Id,Name,Pid from 要查询的表名称where Id ='' --顶级的查询条件,要查询哪个 父级 的所有子级,条件就写哪个   union all   select 要查询的表名称.Id,要查询的表名称.Name,要查询的表名称.Pid from 要查询的表名称,自定义结果名称 where 要查询的表名称.Pid = 自定义结果名称.Id select * from 自定义结果名称; Id,Name,Pid ..
t1.*, t2.*, IF(FIND_IN_SET(parent_id, @pids) > 0, @pids := CONCAT(@pids, ',', id), '0') AS isChild FROM ( SELECT * FROM rule_enti SELECT * FROM table_name WHERE Id=‘4’ --表的主键ID UNION ALL SELECT T0.* FROM TEMP,table_name T0 WHERE TEMP.Id=T0.ParentId --子级ID== 父级 ID SELECT * FROM TEMP; –根据指定节点ID获取所有父节点– WITH TEMP AS SELECT * FROM table_name WHERE Id=‘3 select b.* from Traffic_Sites b where ParentId = '4' union all select a.* from Traffic_Sites a join t b on a.ParentId=b.SiteId select * from t 调换 SiteId 的位
在 DB2 中,你可以使用通用表达式(Common Table Expression)来递归查询所有 子集 。下面是一个例子: 假设你有一个名为 `category` 的表,它有两个字段 `id` 和 `parent_id` 分别表示分类的 ID 和 父级 分类的 ID。如果一个分类没有 父级 分类,则其 `parent_id` 字段为 NULL。 现在,如果你想查询 ID 为 1 的分类的所有 子集 ,可以使用以下 SQL : WITH RECURSIVE subcategories AS ( SELECT id, parent_id FROM category WHERE id = 1 UNION ALL SELECT c.id, c.parent_id FROM category c JOIN subcategories s ON s.id = c.parent_id SELECT * FROM subcategories; 这个查询首先选择 ID 为 1 的分类记录,并将其作为起点。然后,使用递归查询选择所有子分类。递归查询的基本思想是将查询的结果与原始表连接,直到没有更多的 子集 为止。在这个例子中,第二个 `SELECT` 语句连接了 `category` 表和 `subcategories` 表本身,这样就可以递归地查询所有子分类。 最后,使用 `SELECT` 语句选择所有子分类的记录并返回。