问题标签 [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.
oracle - 表依赖的递归查询没有像我想要的那样递归
我有一个想法,我可以编写一个查询来根据外键查找根表的所有后代表。
查询如下所示:
我得到的结果如下所示:
此结果是 的所有子表ROOT_TAB
,但查询不会递归到CHILD_TAB_1
、CHILD_TAB_2
或的子表CHILD_TAB_3
。
递归查询对我来说是新的,所以我猜我在connect by
子句中遗漏了一些东西,但我在这里画了一个空白。实际上是否有可能ROOT_TAB
在单个查询中获得完整的层次结构,或者我最好将查询包装在递归过程中?
sql - sql计算每日总数减去前一天的总数
我有一张包含日期、项目和数量的表格。
我需要一个 sql 查询来返回每天的总数,但总数是数量减去前一天的总数。数量随着月份的推移而累积。所以第一个可能有 5 个,第二个有 12 个,第三个有 20 个。
所以第 1 次加 5 第 2 次加 7 为 12 第 3 次加 8 为 20。
我过去做过类似的事情,但找不到或不记得了。我知道我需要一个相关的子查询。
TIA
--
编辑 1
我正在使用 Microsoft Access。日期是日期时间字段,项目是文本,数量是数字
--
编辑 2
好的,这就是我所拥有的
我如何将 oos.report_date 放入我所说的 #10/10/2010#。我以为我可以像mysql一样把它粘在那里,但没有运气。我要继续研究。
sql-server-2008 - SQL 选择倒排树
您好,我在 sql 中有树结构。逻辑是标准的:SomeID、ParentID、其他字段。我有选择程序,它选择这样的数据:
等等。
如何编写选择程序,以获得反转结果(首先选择最深的分支,最后选择 - 根分支),如下所示:
等等。
非逆向选择看起来像这样(我使用 SqlServer 2008):
mysql - Mysql 列的行以另一行的值开头
我有一个如下表:
A,B,C 是列,MyTable 是表名,我想运行一个 mysql 查询,如:
正如您从上面的查询中看到的那样,我有一个表,我想找到以另一个行值开头并匹配条件的列。但是上面的查询显然失败了,因为 mysql 将“MT1.B%”作为字符串,我怎样才能用 Mysql 来实现呢?
c# - 搜索分层数据的最佳方法
我正在考虑构建一个允许使用分层过滤查询数据的设施。我有一些想法,但我想知道是否有任何建议或建议可能更有效。
例如,假设用户正在搜索工作。工作领域如下。
用户可以搜索特定的(即格拉斯哥)或更大的区域(即苏格兰)。
我正在考虑的两种方法是:
- 为每条记录在数据库中记录孩子(即 cat 1 在其孩子字段中将有 2、3、4)并使用
SELECT * FROM Jobs WHERE Category IN Areas.childrenField
. - 使用递归函数查找与所选区域相关的所有结果。
我从两者中看到的问题是:
- 将这些数据保存在数据库中意味着必须跟踪结构的所有更改。
- 递归缓慢且效率低下。
关于最佳方法的任何想法、建议或建议?我将 C# ASP.NET 与 MSSQL 2005 DB 一起使用。
sql-server-2005 - 对分组表行应用递归 CTE (SQL server 2005)
我有一张表(ROOMUSAGE),其中包含人们签入和签出按 PERSONKEY 和 ROOMKEY 分组的房间的时间。它看起来像这样:
我只想为每个 PERSONKEY、ROOMKEY 分组选择连续的行。所以所需的结果表是:
我想避免使用游标,所以我想我会使用递归 CTE。这是我想出的:
这适用于非常小的数据集(少于 100 条记录),但不适用于大型数据集。
我在想我应该以某种方式在我的 ROOMUSAGE 表上的每个 PERSONKEY、ROOMKEY 分组上递归应用 cte,但我不知道该怎么做。
任何帮助将非常感激,
干杯!
sql - SQL选择一行的后代
假设在 SQL 中实现了一个树结构,如下所示:
尽管可以在这种表示中创建循环,但我们假设我们永远不会让这种情况发生。该表将仅存储根(父为空的记录)及其后代的集合。
目标是,给定表上一个节点的 id,找到它的所有后代节点。
如果A的父级是B或A的父级是B的后代,则A是B的后代。注意递归定义。
以下是一些示例数据:
这代表:
1
我们可以通过这样做来选择的(直接)孩子:
1
我们可以通过这样做来选择子孙:
1
我们可以通过这样做来选择孩子、孙子和曾孙:
如何构造一个查询来获取节点的所有后代1
而不是固定深度的后代?似乎我需要创建一个递归查询或其他东西。
我想知道使用 SQLite 是否可以进行这样的查询。但是,如果这种类型的查询需要 SQLite 中没有的功能,我很想知道它是否可以在其他 SQL 数据库中完成。
sql - 用sql查找多对多结构中的关系
我的问题接近父子问题,可能需要一些递归查询,但我通过浏览论坛没有找到任何答案。这是我的问题:我有 3 张桌子:
我想确定相关的地点和人员组。例如,如果
约翰访问伦敦和巴黎,
玛丽访问巴黎和纽约,
彼得访问班加罗尔和东京,
我想将相同的组代码影响到玛丽、约翰、巴黎、伦敦和纽约,并将另一个组代码影响到彼得,东京和班加罗尔。
我真的不知道如何用 sql 来做到这一点。任何想法?
谢谢
sql-server-2005 - 按经理递归汇总调查结果
我有一个看起来像这样的 StaffLookup 表。
人员结构是这样的。
我有一个如下所示的 SurveyResponses 列表。
我正在尝试做的事情听起来很简单,但我正在努力寻找一种简洁、快速的方法。我想创建一个存储过程,它接受一个 Srn 并返回结构中该 Srn 下的所有人员。
如果 QuestionId 的得分为 16,则表明调查已完成。我想为输入的 Srn(最高经理)返回一行,其中包含该经理下属的直接下属的已完成调查的计数。在此之下,我希望原始经理下的每个经理都对他们的每个直接下属的已完成调查进行计数,依此类推。
当我将最高经理设置为 Joe (ABC2) 时,我希望看到如下数据。
sql - 递归查询问题 - 将行分成列?
我有一张“家庭”表,就像这样
我需要像这样的输出
其中给定 PersonID 的父亲和母亲的 PersonID 在单独的列中列出(如果适用)。我知道这一定是一个相对微不足道的查询(因此要查找说明),但我似乎无法提出正确的搜索词。搜索“SQL 递归查询”让我最接近,但我无法将这些方法完全转化为我在这里尝试做的事情。
我正在努力学习,所以欢迎多种方法,我应该阅读的词汇也是如此。谢谢!