问题标签 [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.

0 投票
1 回答
3967 浏览

sql - 需要将递归 CTE 查询转换为索引友好查询

在完成编写递归 CTE 查询以满足我的需要的所有艰苦工作之后,我意识到我不能使用它,因为它在索引视图中不起作用。所以我需要别的东西来代替下面的 CTE。(是的,您可以在非索引视图中使用 CTE,但这对我来说太慢了)。

要求:

  1. 我的最终目标是拥有一个自我更新的索引视图(它不必是一个视图,而是类似的东西)......也就是说,如果视图连接的任何表中的数据发生变化,那么视图需要更新自己。

  2. 视图需要被索引,因为它必须非常快,并且数据不会非常频繁地更改。不幸的是,使用 CTE 的非索引视图需要 3-5 秒才能运行,这对我的需求来说太长了。我需要查询在几毫秒内运行。递归表中有几十万条记录。

就我的研究而言,满足所有这些要求的最佳解决方案是索引视图,但我对任何解决方案都持开放态度。

CTE 可以在我的另一篇文章的答案中找到。或者这里又是:

0 投票
2 回答
1265 浏览

jquery - PHP - 在 JQuery 中创建递归 json 数组解析

不确定这是否真的可以做到 - 好吧可能可以做到,但超出了我的范围。我有一个这样的php递归数组函数:

它从这样的页面开始:

这个功能对我很有效。但它是“普通”的 php。我想做的是创建一个 json 数组而不是echo结果。然后通过JQuery解析结果。我的原因是我正在使用$.getJSON('etc...')带有“中央”数据库的跨域功能。好的,我可以使用 iframe 并在“中央”域创建“模板”页面,但我不希望这样做。(我只是讨厌框架/Iframe)

有什么建议/意见吗?

0 投票
2 回答
119 浏览

java - 为什么这不返回新字符串?

我有一个反转字符串的递归方法(硬件分配,必须是递归的)。我做到了....但它只在第一次通过后返回字符串的值。通过分析每次通过后的输出,我可以看到它确实正确地完成了它的工作。这是我的代码,以及我在它下面得到的输出:

输出:

0 投票
1 回答
2496 浏览

sql - 需要在同一个Sql Server数据库中同步一个表和一个查询(视图)

我需要使表与连接到多个表的递归 CTE 查询保持同步。CTE 每次运行时都可能返回不同的结果(如果对其加入的表进行了任何更改)。CTE 很慢,我不能让触发器运行它,因为导致触发器触发的查询在触发器触发后才会返回(我不希望对单个记录进行简单更新15 秒,因为它正在等待触发器完成)。有关如何在 SSMS 中实施解决方案的任何细节也很好,但不是必需的。

一种解决方案是让计划的作业运行 CTE,并将其结果与表合并。计划的作业可以每隔几秒钟运行一次,因此表尽可能是最新的。但我不知道如何在 Sql Server 2005 中创建计划作业或如何将 CTE 查询的结果与表合并。

重申我的问题:

如何使用 CTE 使表格尽可能接近实时地保持最新状态?

0 投票
1 回答
285 浏览

javascript - javascript的问题,简单的递归函数

我真的不是很熟悉 javascript 及其语法,但我已经制定了这个函数,并且当我递归调用它时,我不断收到错误。

我得到的错误是:

所以看起来变量formid没有传递给recursiv调用。有谁知道为什么?

谢谢!

梅尼

0 投票
2 回答
418 浏览

postgresql - 如何保持孩子出现在父母之后的秩序

回复 ID 的预期顺序:55, 57, 58, 59, 60, 56 -- 这样整个 1st parent 回复及其所有子项出现在 2nd parent 回复之前 以下 SQL 查询返回错误的结果顺序

但是,仅将“ ORDER BY path”添加到末尾即可解决此问题,但仅适用于升序

因此,让我们现在尝试 DESCENDING,而不是附加“ ORDER BY path DESC” 结果是:

现在看起来好像第一个父母回复的孩子是第二个父母回复的孩子。

我的问题是:如何对结果进行排序,以便深度 > 0 的子项或结果始终出现在其相应的父项之后而不是其他父项之后?

我想看到的结果:

感谢 Freenode 上#postgresql 中的 RhodiumToad,我能够提出以下 PHP 和 SQL 查询,效果非常好!

0 投票
3 回答
1413 浏览

sql - 处理递归(oracle)

我在尝试为客户(网络交易)做一些业务逻辑时遇到了一些问题:

我的客户有一张像这样的表(简化):

现在,应用程序必须显示最大的贸易链,贸易链被定义为提供和需求产品之间的关系。

这是贸易链:

<34、45、57、63> <34、16、20> <45、57、63> <47、57、63> <57、63> <16、20>

我尝试使用 C# 来解决这个问题,但考虑到数据量,它变得不可能。我的一位同事建议我使用递归。我试图理解他的意思,但我是一名客户端开发人员,对 SQL 知之甚少。

我做了这些:

我正在尝试使用系统上最旧的产品(使用最小标识符)开始递归。但它不起作用。它给了我所有的贸易链。我只需要最大的一个。

这是一个输出示例:

0 投票
1 回答
237 浏览

jquery - jQuery递归函数错误

我正在尝试使以下递归函数工作,但不断收到错误(以下代码):

我收到的错误是:checkStatus(jobID) is undefined

一切似乎都在正常工作,Firebug 只是抛出了这个警告。该函数正在重复自身,发布 jobID 并从 PHP 脚本接收“处理”。

我有一个类似的脚本,我正在使用它曾经setTimeout()是递归的,但我不知道如何传递 jobID 以及调用函数(错误)。

有任何想法吗?谢谢!

0 投票
2 回答
852 浏览

cakephp - cakephp:如何在视图中渲染相关模型

我的目标是在视图中显示相关子模型(一旦删除)的记录。我的问题是当我尝试输出以下查询时收到“通知 (8):未定义索引:”错误消息。

锦标赛有很多锦标赛详情,锦标赛详情有很多更新。我正在尝试显示锦标赛视图上显示的每个锦标赛详细信息的所有更新。

所以我的问题是如何正确解决错误消息并在锦标赛视图页面上显示每个锦标赛详细信息的更新。

我在“比赛”控制器视图操作中的查找数据是:

在视图中,我有这个代码。

这与我用于其他相关子记录的“foreach”代码相同,没有问题。我确实使用 debug() 函数进行了调查,但没有看到我遗漏了什么。

调试函数的 $updates 数组的输出如下所示:

有没有一种特殊的方法可以显示这么深的记录?

与往常一样,提前致谢。保罗


更新:2011 年 2 月 23 日 经过一些测试,我似乎遇到的问题是找到正确的值并将其传递给 $updates 变量;

总而言之,我希望 $updates 变量保存当前的“tournament_details_id”。这将在“锦标赛”视图中显示相关的更新记录。

我仍然是初学者,很可能忽略了显而易见的事情。

以下是型号信息:

控制器数据:

比赛视图。这是显示“比赛详细信息”和(理想情况下)相关的比赛详细信息“更新”

我已经通过将锦标赛详细信息“id”作为整数添加来对此进行了测试,它会提取正确的“更新”记录。但是,我似乎在配置查找操作以执行相同操作时遇到问题。

一如既往,我感谢您的帮助。

谢谢保罗

0 投票
1 回答
1629 浏览

cakephp - cakephp:如何显示关联记录的关联记录

我的目标是在视图中显示相关子模型(一旦删除)的记录。我知道将递归值设置为“1”会返回当前模型、其所有者以及它们的关联模型。

我不知道该怎么做是在视图中显示它。

我的方法是在控制器中创建一个变量来保存相关模型 ID 的值,但这不起作用。

*我还应该提到,我在比赛中使用了 sluggable 行为,所以使用的不是 $id 而是 $slug。

以下是模型视图控制器的详细信息:

模型

锦标赛 - 有很多锦标赛详情

比赛详情 - 有很多更新

更新 - 属于锦标赛详情

锦标赛控制器动作 = 查看

比赛视图。这是显示“比赛详细信息”和(理想情况下)相关的比赛详细信息“更新”

当我调试 $updates 时,这就是我所看到的:

我不知道我在这里做错了什么。

使用以下方法构造查找条件是否不正确:

谢谢您的帮助。保罗