问题标签 [common-table-expression]
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 - 如何引用一个 CTE 两次?
我有一个非常胖的公用表表达式,其中包括行号,以便我可以返回分页结果集。我还想在分页结果集之前返回与查询匹配的记录总数。
显然我上面的查询是不完整的,但这只是为了说明我的观点。我想要一页结果和匹配的总数。我如何做到这一点,而不必从字面上复制和粘贴整个 20+ 行 CTE?
sql-server - 保持简单以及如何在查询中执行多个 CTE
我有这个简单的 T-SQL 查询,它从一个表中发出一堆列,并连接来自其他相关表的信息。
我的数据模型很简单。我有一个预定的活动,有参与者。我需要知道有多少参与者参加了每个活动。
我对此的解决方案是添加一个 CTE,它将预定的事件分组并计算参与者的数量。
这将允许我在每个预定事件中加入该信息。保持查询简单。
我喜欢让我的查询保持简单,但是,如果我将来需要在我的简单查询期间访问其他临时结果,我该怎么办?
我真的很喜欢,如果我可以有多个 CTE 但我不能,对吧?我在这里有什么选择?
我已经排除了应用程序数据层的视图和处事。我更喜欢隔离我的 SQL 查询。
sql - SQL CTE 计算子递归
我想(使用 cte)以这种方式计算表中的孩子,以便在父母级别拥有所有孩子的数量,包括他们的孩子。有样品吗?
vba - 为什么我不能对 ADODB 和 Oracle 执行“with x as (...)”?
我无法通过 ADODB 和 Oracle执行带有with 子句的 SQL 查询。
也就是说,以下代码段有效:
但是,以下操作不起作用 - 它会生成运行时错误 3704:关闭对象时不允许操作。
显然,这是对实际问题的精简演示,其中包含更复杂的查询。
在我看来,ADODB 在将查询传递给 Oracle 实例之前对其进行了解析,并且不理解with 子句。无论如何,对此的任何帮助都将受到高度赞赏。
sql - VBA 中的 SQL 错误
我在 SQL (2005) 中有以下代码,它计算系统上的平均用户登录次数:
现在的问题是,当我将它放在 excel 中的 VBA 宏中以在 strSQL =“QUERY SHOWN ABOVE HERE”参数中的特定单元格中得到结果时,我在 excel 中得到错误
关键字附近的语法不正确 with
值得一提的是,我不会在多行中破坏 VBA 中的代码..我将它们全部放在一行中。
performance - 如何在子查询分解的临时表上创建索引?
我有一个查询,它在顶部有一个子查询的 WITH 语句,然后我在子查询上运行了几个 CONNECT BY。子查询可以包含数万行,并且 CONNECT BY 层次结构的深度没有限制。目前,此查询需要 30 秒以上;是否可以在为分解子查询创建的临时表上指定索引以加快 CONNECT BY 速度,或者以其他方式加快速度?
sql - 常用表表达式,遍历图时如何避免无限递归?
我有一个简单的加权图
假设这描述了一个家庭,A 是父亲,B 是儿子,C 是母亲。假设 B 在大学读书,A 为他买了一套公寓。A和C住在共同拥有的房子里,50-50。
我想将图形转换为一棵树,从 A: 即开始。
- A拥有C居住地50%的股份
- A 拥有 B 居住地的 100%
- C拥有A居住地50%的股份
图表和生成的树可能更精细,但我希望你能得到更一般的画面。
在 SQL Server 2005 上,我有
我正在使用以下公用表表达式来遍历图形,从“A”开始:
这引起
通过取消注释来限制递归级别会And b.Level<=1
给出预期的结果,但这显然对任何实际用途都不是很有用。
有没有办法引用以前的迭代,以便在上面的示例边缘(即 FirstVertex、SecondVertex 对)中不会重复?
sql - SQL Server 2005 中的 CTE 评估
我有一个关于 MS SQL 如何评估 CTE 中的函数的问题。几次搜索都没有找到与此问题相关的任何结果,但如果这是常识并且我只是落后于曲线,我深表歉意。这不会是第一次:-)
这个查询是我实际正在做的事情的简化(并且显然不太动态)版本,但它确实表现出我遇到的问题。它看起来像这样:
关于上述的所有执行,可以假设以下内容:
的结果
dbo.fnUtil_Random()
始终是大于零且小于或等于传入参数的 int 值。由于在上面调用它时@NumEmployees
其值为 2,因此此函数的计算结果始终为 1 或 2。的结果
dbo.fnUtil_ParseCriteria(@CustomerIDs, 'int')
生成一个单列单行表,其中包含一个 sql_variant,其基类型为“int”,值为 219935。
鉴于上述假设,(无论如何对我而言)上述表达式的结果应该始终生成一个包含一条记录的两列表 - CustomerID 和 EmployeeID。CustomerID 应始终为 int 值 219935,而 EmployeeID 应为 42 或 43。
然而,这并非总是如此。有时我会得到预期的单曲记录。其他时候我得到两条记录(每个 EmployeeID 一条),还有一些我没有得到任何记录。但是,如果我用真正的临时表替换 RandomizedCustomers CTE,问题就完全消失了。
每次我认为我对这种行为有一个解释时,事实证明它没有意义或不可能,所以我真的无法解释为什么会发生这种情况。由于当我用临时表替换 CTE 时问题不会发生,我只能假设它与 CTE 内的函数有关,在连接到该 CTE 期间评估。你们有任何理论吗?
tsql - T-sql 常用表达式查询作为子查询
我有以下查询:
它连接按 id 分组的不同行的 varchar 值。但现在我想将它作为子查询包含在内,它给出了一些我无法解决的错误。使用简化示例:
错误(西班牙语的近似翻译):
我做错了什么?
sql - SQL:使用公用表表达式递归获取父记录
假设您必须遵循以下表格,其中销售由产品组成,并且产品可以放置在多个类别中。其中类别具有如下层次结构:
表:
问题:
现在在我的网站上,我想创建一个控件,其中仅显示特定销售的类别,并且类别填充有销售的产品。我还想包括类别的层次结构。因此,如果我们有一个叶节点,则递归地向上到顶部节点。
所以对于 sale1 我应该有一个带有以下结果的查询: