SQL Server 递归查询,通过子id查询所有父级
1.表结构
2.SQL
with cte(materialshelf_id,materialshelf_pid,materialshelf_name)
(
select materialshelf_id,materialshelf_pid,materialshelf_name from materialshelf where materialshelf_id = 5
union all
select t.materialshelf_id,t.materialshelf_pid,t.materialshelf_name from materialshelf as t
inner join cte as c on t.materialshelf_id = c.materialshelf_pid
select materialshelf_id,materialshelf_pid,materialshelf_name from cte order by materialshelf_id asc

4.SQL Server多行数据合并一个
with cte(materialshelf_id,materialshelf_pid,materialshelf_name)
(
select materialshelf_id,materialshelf_pid,materialshelf_name from materialshelf where materialshelf_id = 5
union all
select t.materialshelf_id,t.materialshelf_pid,t.materialshelf_name from materialshelf as t
inner join cte as c on t.materialshelf_id = c.materialshelf_pid
select stuff((
select materialshelf_name + '/'
from cte order by materialshelf_id asc for xml path('')),1,0,'') as materialshelf_name;
5.合并结果

insert into C values(1,'w',null)
insert into C values(3,'d',null)
insert into C values(5,'d',1)
insert into C values(6,'f',
本篇文章小编给大家分享一下MySQL通过自定义函数实现递归查询父级ID或者子级ID代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。背 景:在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度, 那么所有节点为根的树的深度均不会超过树的最大深度,则我们可以直接通过left join来实现。但很多时候我们是无法控制或者是知道树的深度的。这时就需要在...
with tab as
select pc.id,pc.ParentId,pcd.Name,1 as [level] from ProductCategories pc join Produ...
需求:已知某个id的值,需要查询这个id关联的所有父级的数据,如查询到该id的父类数据之后,还需要查询父类数据的爷爷辈数据,依次类推,直到查询到顶级。
SELECT T2.*
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM folder WHERE id = _id) AS parent_id,
@l := @l + 1 AS lvl
查询数据库表中字段及类型
SELECT table_catalog,table_schema,table_name,column_name,ordinal_position,is_nullable,data_type,character_maximum_length,numeric_precision,udt_name
FROM information_schema.columns As ...
CREATE DEFINER=`root`@`%` FUNCTION `getVehicleComponentParentName`(`nodeId` int) RETURNS varchar(400) CHARSET utf8
BEGIN
DECLARE parentId INT;
DECLARE parentName VARCHAR(400);
我们在设计表的时候可能会把父子级关系放在一张表。
如:表o_Organization有字段PID,ID,[Description],Org_Type,OrgAll,AccountID
其中ID是主键。PID表示父级ID,同时这个父级ID又是Organization表的主键ID。
表是这样设计的,要怎么才能一条SQL查询一个父级ID下包含多少子集呢?
SQL Server With As 递归获取层级(父子)关系数据
链接: https://blog.csdn.net/SunshineBlog/article/details/80940778.
// An highlighted block
--创建一个表
CREATE TABLE [dbo].[Factory](
[FId] [int] primary key IDENTITY(1,1) NOT NULL,
开门见山,首先说下遇到的问题:前期系统地区字典表中,每个省市县只存了本级名称,没存完整的字段。如:肥西县隶属安徽省合肥市,表中就存了一个肥西县。现有需求需要将完整字段显示,由于系统已在线上运营,无法做过多复杂修改,初步定的方案是在表中新追加一个字段,将字段补齐,一是方便修改,二是为了后期如果别的功能用到可以拿新字段使用,简化工作。
好了,问题已经明确,接下来就想想怎么解决问题了。也不...
WFE_FlowRecord表中 WFE_FRCode为主键,WFE_PFRCode为父表的主键
现在想查询某个子表的所有父表的数据,且父表的标志位为WFE_FRSubFlow = 'F'
查询语句如下:
with cte AS
select WFE_PFRCode,WFE_FRSubFlow,WFE_FRCode,0 as lvl from WFE