问题标签 [recursive-query]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 如何将递归查询用作子查询?
我需要编写一个多次调用递归查询的查询。
我无法弄清楚该怎么做。我想我可以通过使用游标来做到这一点,在运行时准备 sql 语句,然后使用 EXEC(mySQLstatement) 在每个游标 FETCH NEXT 处运行它。
无论如何,这不是一个好方法。
这就是问题所在(当然这里是简化的,我只留下必要的列来表达自己):我有一个客户树(一个层次结构),并且为每个客户定义了一些联系人。
CUSTOMERS 表包含一个 ID_CUSTOMER 字段和一个 ID_PARENT_CUSTOMER 字段,CUSTOMER_CONTACTS 表包含一个 ID_CUSTOMER 字段和一个 ID_CONTACT 字段。
通过这个查询(它有效),我可以获得客户 308 的所有联系人及其子客户的所有联系人:
但我想在一个查询中对所有客户都使用相同的查询,而不仅仅是 308。所以这就是为什么我建议使用游标,这样我就可以重用上述语句并只使用变量而不是 308。
但是你能提出一个更好的查询吗?
sql-server - sql server 如何检索树中任何子节点到祖先节点的所有节点?
在这个答案中,我询问了如何获取所有子节点以及对根节点的引用。现在我意识到我也需要相反的:
我想要所有的节点和所有的父母。
所以在这个简单的树中:
我想拥有
(顺序不重要)
这是获取相反结果的查询(从父级获取所有子级)。我试图玩它,但找不到解决方案。你能建议吗?
php - MySQL递归树搜索
我有一个包含名称树的数据库,该名称树总共可以向下 9 级深,我需要能够从分支上的任何点向下搜索树的信号分支。
数据库:
树:
例如:
如果我从用户“bob”中搜索“j”,我应该只得到“joe”和“jim”。如果我从“leo”中搜索“j”,我应该只得到“jim”。
我想不出任何简单的方法来做到这一点,所以任何帮助表示赞赏。
sql-server - 使用 SQL Server 2008 XQuery 将 XML 树转换为平面文本
我有一些表示数学表达式树的 XML 数据,并希望将其转换为平面数学公式。听起来很简单,但 SQL Server 中的 XQuery 限制目前阻止了我的成功(没有递归函数、“异构”结果的问题等)。
表达式可以具有任意嵌套深度。这是一个示例(数据稍后会在表格的 xml 列中,但这足以在这里进行测试):
所需的结果将是(空白无关紧要):
是否有人掌握 SQL Server 2008 (R2) 中的 XQuery 足以执行此转换?
xml - 使用 XSLT 对 XML 进行排序
我有一个描述目录树的 xml。它可以有任意数量的子节点。这是一个例子:
我需要能够按类别名称和 ParentCategory 对其进行排序。所有父类别应在 xml 中排在第一位,“叶类别”排在最后。在此示例中,xml 已排序。
上面的 xml 表示为树时是这样的
1532
-16115
--16116
--16126
-16131
--16132
--16136
--16139
--16144
--16195
我希望它像这样排序
1532
-16115
-16131
--16116
--16126
--16132
--16136
--16139
--16144
--16195
它可以是多个级别的子元素(在这种情况下只有一个 3 级树)。我希望所有 1 级元素首先出现在 xml 中,然后是所有 2 级元素,然后是所有 3 级元素等。
php - 使用 PHP 中的 Mysql 作为递归数据的 Navmenu - 使用 3 个不同的表
我在我的网页中进行了三级分类。每篇文章都按照 SECTION->CATEGORY->SUBCATEGORY 进行。section 表有 section_id 和 sectionname 字段。类别表有 category_id、section_id、类别名称。子类别表有 subcategory_id、category_id、section_id、subcategoryname。
在将文章添加到网站时,我制作了一个带有 3 个选择下拉菜单的动态下拉菜单(作为您希望将这篇文章保存在哪里的样式)。这是工作。
现在我想在无序列表中显示这些部分、类别和子类别,但我迷路了。我在寻找什么:
如果有任何帮助,我将非常高兴。
谢谢,
php - PHP递归目录句柄问题
getSettings() 似乎只读取并输出目录中的 1 个 settings.php 文件。如何让它读取和输出所有 settings.php 文件内容?
sql-server - 使用相关聚合构建子树
我为模糊的标题道歉。我想不出如何最好地总结这个问题。我有一个分层表(例如ID int, ParentID int
),需要为ID
. 这可以通过递归 CTE 轻松完成。困难在于,对于每个节点,我需要计算一组相应值的运行按位或,然后对父节点计算结果与相同值的位或。这意味着每个节点都会继承其父节点的位掩码,并且可以设置自己的附加位。我可以使用我之前问过的问题OUTER APPLY
中提到的技术来计算 CTE 的锚成员中的这个值。不幸的是,我不能在 CTE 的递归部分以相同的方式计算它,因为它在那里使用和聚合是不允许的。SUM
有没有办法重组它来做我想要的?
编辑
如果它有助于概念化问题:层次结构很像目录结构,位掩码就像从父文件夹继承的权限。
示例数据
对于@ID
1,我希望查询返回:
sql - 如何在 SQL Server 中重写此查询(PostgreSQL)?
几天前,我问了一个关于 1,2 和 3. 度连接的问题。Question Link和@Snoopy 提供了一个可以解决我所有问题的文章链接。文章链接
我仔细检查了这篇文章,但我无法在 SQL Server 中使用 With Recursive query。
PostgreSQL 查询:
要不就
正如我所说,我不知道如何使用 CTE 使用 SQL Server 编写递归查询。进行了搜索并检查了此页面,但仍然没有运气。我无法运行查询。
sql - SQL Server 2008:层次结构不严格的递归查询
我正在与一家大型跨国公司打交道。我有一张表(oldtir),显示子公司的所有权。此问题的字段是:
- cID - 此表的 PK
- dpm_sub - 子公司的 FK
- dpm_pco - 母公司的 FK
- year - 这是关系所在的年份(因为它们会随着时间而变化)
还有其他字段,但与此问题无关。(请注意,没有专门指明顶级公司的记录,因此我们必须通过让它们不显示为子公司来确定它们是什么。)
我写了下面的查询:
它失败并显示 msg 530:“在语句完成之前,最大递归 100 已用尽。”
我认为问题在于表中的关系不是严格分层的。具体来说,一个子公司可以由多个公司拥有,甚至可以出现A拥有B和C的一部分,B也拥有C的一部分的情况。(其他字段之一表示所有权百分比。)
暂时我已经解决了这个问题,在track level中加了一个field,过了几个level就随意停了。但这对我来说感觉很笨拙,因为我无法确定最大级别数。
任何想法如何一般地做到这一点?
谢谢,添马舰