问题标签 [hierarchical-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 回答
36 浏览

oracle - 从两个表重建oracle分层查询

我正在为下表 Classification_ProductOrder_details表格进行 oracle 分层查询

分类产品有Classification_id哪些将Order_details根据用户选择存储在

分类 产品表 分类 产品表

order_details 表 order_details 表

我想从具有父级的Order_details表中选择所有产品,无论孩子是 32 英寸或 50 英寸还是索尼三星等LED Screen,都将返回所有具有父级的产品LED Screen

我尝试使用下面的查询,但它的 replate 行很多

0 投票
1 回答
836 浏览

oracle - Oracle START WITH 子句不返回根行

我在 Oracle 10g 中执行以下查询以检索分层形式的数据(完整的查询有点复杂):

这是内部选择返回的集合:

如果我在没有START WITH 子句的情况下运行整个查询,我会正确得到以下结果:

但是如果我使用START WITH 子句运行它,则查询不会返回任何行,而我希望有 2 行:

最奇怪的是:

  1. 该问题仅在某些情况下发生,而查询适用于大多数情况,数据值没有很大差异;
  2. 如果我使用内部选择的结果集创建一个表,即使使用 START WITH 子句,相同的查询也可以正常工作。

这是使用创建的表的查询:

似乎 START WITH 子句与 PARENT 字段中的 NULL 值不匹配。为什么会这样?

提前致谢。最好的祝福。

0 投票
1 回答
121 浏览

sql-server - SQL分层查询最多10级

我想编写一个 SQL ServerSELECT查询,以表格格式以分层方式显示数据。

例如:员工向 X 经理报告,然后 X 经理向 XX 经理报告,然后 XX 经理向 XXX 经理报告 - 对于每一行记录。

表数据:

输入数据格式

输出格式:

输出所需格式

0 投票
1 回答
653 浏览

sql - 我想在oracle数据库中插入十亿条记录

我必须在 oracle 数据库表中插入十亿条记录。我有 2 列。一列是一个序列号,一直到 1,000,000,000 第二列是一个 varchar2 字段...格式为 abc~122~373~7777777~5367 。即第一列必须包含 3 个随机字符,后跟 '~',然后是 3 个随机数,后跟 '~',然后是 3 个随机数,后跟 '~',然后是 7 个随机数,后跟 '~',最后是 4 个随机数通过'〜'。而且我需要所有记录都是唯一的。

0 投票
2 回答
2089 浏览

oracle - 通过先验连接更新查询的 SQL 语法

我开始使用 SQL,并且遇到了分层查询。同时我成功地用命令选择了行connect by prior但未能更新。这是我的更新查询:

我得到了SQL Error: ORA-00933: SQL command not properly ended。如何分层更新表?

编辑

我也尝试将where条件放在 中start with,但它没有帮助:

0 投票
1 回答
987 浏览

sql - 为什么 Oracle 伪列 CONNECT_BY_ISLEAF 似乎坏了?

首先简要描述我的问题

我有一个包含可能在这个伪有向图中表示的数据的表: 伪图图像 我说它是一个伪图,因为我有一些“边”,它们只连接在一个节点上。

每个«edges»都被标记,并将被视为一个事件。

每个节点只包含一个 ID。

Oracle (12c) 表如下所示: http ://sqlfiddle.com/#!4/79cdb5/4/0

在表上,我运行了此查询 ,并且我希望在其伪列 CONNECT_BY_ISLEAF 中具有 1 的行之一改为 0。

这是有罪的行: http ://sqlfiddle.com/#!4/79cdb5/3/2

我完全无法理解为什么甲骨文不认为这一行显然是一片叶子。

表数据说明

在表格中,我使用的每一行代表一个事件(或图形边缘)加上它所连接的节点。

VUID 列是“上一个”节点,AUID 是«step»,EVENT 是事件标签,NEW_VUID 是“下一个”节点。

事件 D 和 U 例外,它们只有 1 个节点连接,并且该节点将始终位于 VUID 列中(即使对于 D 事件,该节点是“下一个”节点)。

错误请求的描述和目的

在这里,我将提供一些有关我正在执行的请求的背景信息

我的最终目标是根据表中的数据重新创建此图表。为此,我按以下步骤进行:

  1. 构建 «forward» 树,每个根必须是具有 D «edge» 的节点
  2. 构建«reverse»树,每个根都是没有子节点的节点
  3. “合并”所有相关的树,最终得到想要的图。最终图表应接近本问题开头显示的图表。

在第 1 步中。我最终应该得到如下所示的正向树: 第一个计算的前向树 第二个计算前向树

要使用 oracle 创建树,我认为最简单的方法是进行正确的分层查询,然后使用伪列 SYS_CONNECT_BY_PATH 并在 CONNECT_BY_ISLEAF = 1 上进行过滤,这是因为只使用叶子加上每个叶子的路径很容易重新创建树。

但是我被卡住了,因为出于某种原因,我不明白 Oracle 没有像我一样考虑所有叶子。不考虑包含节点 88888 的叶子

0 投票
2 回答
87 浏览

sql - 通过先验连接数据系列

我有一张桌子,上面有一个系统的到达和离开时间段。我也有到达和离开的预测。我想计算不完整预测周期的开始和结束计数(理想情况下使用合并和连接)。

要重现的数据:

  • 一个时期的结束人数=开始人数+到达-退出。
  • 一个时期的开始人数=上一时期的结束人数

我最初的尝试:

但是,它没有产生正确的结果。感谢任何帮助!

0 投票
2 回答
44 浏览

oracle - oracle 中的树结构查询,具有一个整数字段和一个 varchar 字段

这里我需要树结构查询,一个是int,另一个是varchar字段。我不想将 varchar 修改为 int。

表结构:

在这里,我正在尝试投射 wbs_id

但我得到错误:用户数据中的CONNECT BY循环

0 投票
1 回答
58 浏览

oracle - 查询在员工之前检索经理

我们有资源列表及其经理(不是完整的层次结构)。我们现在需要检索资源列表,以便资源的经理行应始终出现在资源行之前。我已经尝试过分层查询,但是鉴于数据集,我不确定它是否正常工作。有什么指点或线索,请确认订单?

编辑:在数据集中添加了最后一行,查询似乎不再起作用。


sqlfiddle


数据集


预期的有序结果集

0 投票
5 回答
71 浏览

sql - 如何在同一命令中从 2 个不同的树中选择最高级别

我有一个具有以下外观的数据集。

这是使用以下命令的结果

我要结果

也就是说,我想提取每棵树的最高根。理想情况下,我希望在我拥有的相同命令中完成此操作,但我在该领域内太新手了,不知道如何去做。