问题标签 [connect-by]

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 投票
2 回答
393 浏览

sql - 开始于....连接之前

有人知道如何了解 CONNECT BY 的深度吗?例如,如果我有;

CHRIS 的深度是 3,TODD 的深度是 2,我如何以编程方式找出 CHRIS 和 TODD 的深度在哪里;

以 PARENT_KEY 开始 = 'BOB' 由 PRIOR CHILD_ID = PARENT_ID 连接

对不起,我是愚蠢的......这里是那些未来有脑残的人的答案;

0 投票
1 回答
334 浏览

sql - PL-SQL 树最大值汇总

对不起,如果这个问题已经被问到了。请重定向我。

对不起,如果它被搁置。
只是为了澄清我的问题。

这是我的详细信息。

我有 1 个名为 T1 的视图,它有 3 个名为 ID(NUM)、PARENT_ID(NUM) 和 COLOR(NUM) 的列。

*ID 列是 PARENT_ID 列的子代
*COLOR 列是 ID 列的指定颜色(最高 4000、最低 3000、2000、最低 1000)
*ID 为 1 的行,父 ID 0 是最高/根级别。
*我没有ID为0的行;

我的问题是,我不知道如何:
1.根据其孩子的最高颜色值更改父颜色。
例如:id 为 2 的行必须是 4000 颜色(4000[row id 4]>3000[row id 5])。
2.接下来是根据父母最高颜色也改变祖父母颜色。如果祖父母存在,那么它也必须根据祖父母最高颜色进行更新。

输出应该是。

我正在使用 Oracle 11g。

另请注意,我的 T1 视图也是使用 Connect By 连接的几个表的结果。我已经设法使用 Connect By 获得了最大颜色,但它只反映了它的直接父颜色,而不是它的祖父颜色。

请指教..

0 投票
1 回答
1577 浏览

sql - 如何使用分层子查询构建层次结构路径

编辑:我通过引入位置实体提供了附加信息,以明确我为什么尝试使用子查询

在 oracle 11g 数据库中,我有层次结构的元素表,最终将包含几百万行。每行都有指向其父行的索引外键,并且不允许循环。元素也有名称和类型。除此之外,还有另一个实体 - location,它类似于元素(分层,具有指向父级+名称的外键)。顶部元素(你的根)可以在位置(它们通过LocationId连接)。所以有2个实体:

地点:

  • 编号 [NUMBER(9,0), PK]
  • ParentId [NUMBER(9,0), FK]
  • 名称 [VARCHAR2(200)]

元素:

  • 编号 [NUMBER(9,0), PK]
  • LocationId [NUMBER(9,0), FK]
  • ParentId [NUMBER(9,0), FK]
  • 类型 ID [NUMBER(9,0), FK]
  • 名称 [VARCHAR2(200)]

现在假设表包含以下数据,例如:

地点:

元素:

我要做的是为元素编写查询,除了基本的 4 个元素列之外,它还返回父 ID、名称和类型 ID 的完整路径 + 顶部元素 位置ID 和名称的完整路径。因此,如果我获取ID 为 3 的元素(此条件也可能因此处未指定的多列而变得复杂)查询将不得不返回:

首先,我编写了oracle 分层查询,它返回位置元素的所需路径

地点

元素

当我想将这些查询用作加入基本选择的子查询时,问题就开始了 - 不能用连接条件替换start with condition,因为分层查询比全表扫描:

我也不能做标量子查询,因为查询必须返回多个路径,而不仅仅是一个。有什么建议么?我是在朝着正确的方向前进,还是应该在元素表中添加一些字段并缓存我需要的所有路径?(它们不会经常更新)

谢谢!

0 投票
2 回答
1583 浏览

oracle - oracle - 使用带有 CLOB 参数的连接语句

我的程序

我想拆分长字符串 p_LstKH,然后放入 CURSOR c_dsKH。示例:p_LstKH = '1,2,....,10000'

但是,当我执行该过程时,我收到错误“没有足够的内存用于通过操作连接”。我尝试用 p_LstKH VARCHAR2 替换参数 p_LstKH CLOB,然后我收到其他错误“ORA-06502: PL/SQL: numeric or value error: string buffer too small”。

我现在该怎么办 ?简单地说,我想拆分一个长字符串。谢谢大家!

0 投票
3 回答
12480 浏览

oracle - PostgreSQL 在 Oracle 中是否有类似“LEVEL”的伪列?

PostgreSQL 在 Oracle 中是否有类似“LEVEL”的伪列?
如果没有,那么我们如何创建类似于“LEVEL”的列?

0 投票
0 回答
1123 浏览

java - java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:从第 1 行附近开始,第 84 列

执行查询时出现错误。错误是:

java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:在第 1 行附近开始,第 84 列 [来自 com.services.om.entity.OrderLines,其中 orderNumber in (:order_Numbers) 以 parentLineIdentifier 开头null 通过先前 orderLineIdentifier = parentLineIdentifier 连接]

我的 DAO 代码是:

有什么建议吗?

实体类字段变量也在查询中正确标记。

0 投票
1 回答
124 浏览

sql-server - 如何将“通过”ORACLE 连接到 SQL Server

在 SQL Server 中使用 RECURSIVE CTE 时,GROUP BY不应使用 等LEFT OUTER JOINORDER BY

如何将此 ORACLE 查询转换为 SQL Server?

我试过了。

但是发生了错误。

递归查询“TEMP_TAB”的“SORT”列中的锚点和递归部分之间的类型不匹配。

另一个问题:如何将connect byORACLE 中的所有数据库系统转换为 ANSI?

不可以吗??

我在下面添加了这个可以在 POSTGRESQL 中使用的查询。

我认为这个查询与 SQL Server RECURSIVE-CTE 查询类似,但在 SQL Server 中,它不起作用。

0 投票
1 回答
591 浏览

sql - Oracle 到 Derby - ConnectBy 和 Start With 等价于 Derby

以下 Query1 适用于 Oracle。我希望在 Derby 中执行相同的功能。我得到了 Query2,作为这里要遵循的建议之一。但这仍然是抛出Error1。请有人帮我摆脱这个。我应该怎么办?

查询1:

查询2:

错误1:

0 投票
1 回答
10563 浏览

oracle - PostgreSQL - 在 oracle 中迁移带有“start with”和“connect by”的查询

我在 oracle 中有以下查询。我想将其转换为 PostgreSQL 形式。有人可以帮我解决这个问题,

0 投票
0 回答
26 浏览

sql - 在没有明显层次结构的情况下使用层次结构检索重新创建视图

作为我的 SQL 课程的一部分(我只是一个新手),我有一个基于学生和测试的数据库,他们可以作为学习课程的一部分参加。

所以我有一张学生表、一张测试表、一张作者表、一张与测试相关的问题表等。

一项任务要求我创建各种视图,例如

此视图显示已通过的测试实例:

或者这个显示从未被问过的问题

如此直接的观点本身,总共大约有 5 个。

这是我正在努力的部分:

作业的第二部分要求我使用分层检索更有效地重新创建这些视图。

我没有看到任何明显的层次结构,除了一个测试可以由许多学生通过,或者一个学生可以通过几个测试。

我不认为我会在这些视图中使用分层查询,除非我被要求这样做......而且因为没有包含父 id 类型列的表,我正在努力解决如何完成它。

我很清楚原理及其工作原理,比如使用 hr 员工表,其中employee_id 和 manager_id 代表明确的父/子关系,我找到的大多数示例都可以参考,但是谁能给我一个指导如何将其纳入这些观点?

谢谢!!