recursive-cte相关内容

PostgreSQL 将数据从递归 CTE 传递到函数

我有以下问题:我试图发现从源节点 (node_s) 到目标节点 (node_t) 的所有可能路径. 带图边的原表格式很简单:|节点_x |节点_y |强度 | ,其中“node_x"->“node_y"是直接边,边的强度为“权重". 这个想法是,如果在探索路径的任何时候我们发现其子节点中的一个节点有目标node_t,我们记录这条路径并停止探索从此节点开始的路径,否则继续探索. 简 ..

为孩子获取所有父母

我想检索一个 id 的 parentid,如果该 parentid 有一个 parent,则再次检索它,依此类推.一种层次结构表. id----parentid1--15-----147894--547897--47894 我是 sql server 的新手并尝试过一些查询,例如: with name_tree as(选择id,parentid来自用户其中 id = 47897 -- 这是 ..
发布时间:2021-12-16 08:52:26 数据库

SQL 递归 CTE:查找按属性链接的对象

我只是想了解 CTE 和递归,以解决我以前使用游标解决的问题. 创建表##ACC (AccNo int,属性字符)插入##ACC值 (1,'A'),(1,'B'),(2,'A'),(2,'C'),(3,'C'),(4,'D') 我想要实现的是获取所有 AccNo 的列表,以及它们通过 Property 关联的所有 AccNo.所以我的预期结果是 PrimaryAccNo |关联账号1 |11 ..

为什么递归CTE会按程序运行分析功能(ROW_NUMBER)?

昨天我回答了一个递归CTE,该CTE暴露了在SQL Server中实现这些问题的方式(可能也在其他RDBMS中实现)的问题.基本上,当我尝试针对当前递归级别使用 ROW_NUMBER 时,它将针对当前递归级别的每一行子集运行.我希望这会在真正的SET逻​​辑中起作用,并且会违反整个当前递归级别. 看来,从此MSDN文章,发现的问题是预期的功能: CTE的递归部分中的分析函数和集合函数是 ..

让所有父母为孩子

我想检索一个id的父母ID,如果该父母ID有一个父母再次检索它,依此类推. 层次表的种类. id----parentid 1-----1 5-----1 47894--5 47897--47894 是SQL Server的新功能,并尝试了一些查询,例如: with name_tree as ( select id, parentid from Users whe ..
发布时间:2020-07-25 00:19:03 数据库

在CTE中查找无限递归循环

我不是SQL专家,但是如果有人可以帮助我. 我使用递归CTE获取以下值. Child1-> Parent 1 父母1->父母2 Parent2-> NULL 如果数据填充出错,那么我将遇到以下类似情况,因为该情况,CTE可能会进入无限递归循环并给出最大递归错误.由于数据量很大,因此我无法手动检查此不良数据.请让我知道是否有办法找到它. Child1-> Pare ..
发布时间:2020-07-25 00:19:02 其他开发

递归CTE-查找经理以下的所有员工

我为此 SQLFIDDLE 创建了一个示例小提琴 创建表[dbo]。[用户]( [userId] [int], [userName] [varchar](50) , [managerId] [int], ) 插入dbo.Users ([userId],[userName],[managerId]) 值 (1,'Darry',NULL), (2,'Cono',1), (3,'Ab ..
发布时间:2020-05-30 22:14:48 C#/.NET

递归JSONB Postgres

我试图在Postgres中构建一个支持数组和对象的递归CTE,以返回键值对的列表,但似乎找不到很好的例子.这是我当前的代码. with recursive jsonRecurse as ( select j.key as Path ,j.key ,j.value from jsonb_each(to_jsonb('{ "key1": { "key2": [ ..
发布时间:2020-04-23 12:05:08 其他开发

PostgreSQL将数据从递归CTE传递到函数

我遇到以下问题:我试图发现从源节点( node_s )到目标节点( node_t )的所有可能路径。 带图边的原始表的格式很简单: | node_x | node_y |强度| ,其中“node_x” - >“node_y”是边缘强度为“weight”的直接边缘。 p 在探索路径的任何一点,我们发现其子节点中的一个节点的目标是 node_t ,我们记录此路径并停止探索来自此节点的路径,否则继 ..