common-table-expression相关内容

树结构中的递归求和

我在一个表中有一个树结构.该表是可以无限嵌套的类别树.每个类别都有一个 ProductCount 列,用于说明该类别中直接包含的产品数量(不汇总子类别). Id |父 ID |姓名 |产品数量---------------------1 |-1 |汽车 |02 |-1 |自行车 |13 |1 |福特 |104 |3 |野马 |75 |3 |焦点 |4 我想做一个 sql 查询,为每一行/类别提 ..
发布时间:2021-12-10 12:59:21 数据库

从 CTE 更新表中的记录

我有以下 CTE,它将为我提供整个发票的 DocTotal. ;WITH CTE_DocTotal作为(选择 SUM(Sale + VAT) 作为 DocTotalFROM PEDI_InvoiceDetail按发票编号分组)更新 PEDI_InvoiceDetailSET DocTotal = CTE_DocTotal.DocTotal 现在有了这个结果,我想在列中输入 PEDI_Invo ..
发布时间:2021-12-10 12:35:13 数据库

CTE、子查询、临时表或表变量之间是否存在性能差异?

在这个优秀的SO 问题中,CTE 和 子查询 进行了讨论. 我想问一下: 在什么情况下,以下各项更有效/更快? CTE 子查询 临时表 表变量 传统上,我在开发存储过程时使用了很多临时表 - 因为它们看起来比许多相互交织的子查询更具可读性. Non-recursive CTEs 很好地封装了数据集,并且非常具有可读性,但是在特定情况下可以说它们总是表现得更好吗? ..
发布时间:2021-12-10 12:34:15 数据库

结合 INSERT INTO 和 WITH/CTE

我有一个非常复杂的 CTE,我想将结果插入到物理表中. 以下是否有效? INSERT INTO dbo.prf_BatchItemAdditionalAPartyNos(批号,户口号码,APartyNo,源行ID)带标签 (-- 一些查询)选择 * 从选项卡 我正在考虑使用一个函数来创建这个 CTE,这将允许我重用.有什么想法吗? 解决方案 您需要先放置 CTE,然后将 INSE ..
发布时间:2021-12-10 12:33:08 其他开发

Linq 中的分层数据 - 选项和性能

我有一些分层数据 - 每个条目都有一个 id 和一个(可为空的)父条目 id.我想在给定条目下检索树中的所有条目.这是在 SQL Server 2005 数据库中.我在 C# 3.5 中使用 LINQ to SQL 查询它. LINQ to SQL 不直接支持公用表表达式.我的选择是使用多个 LINQ 查询在代码中组合数据,或者在显示 CTE 的数据库上创建视图. 当数据量变大时,您认 ..
发布时间:2021-12-09 11:15:47 其他开发

带有数据循环的 SQL Server 2005 递归查询 - 可能吗?

我有一个标准的老板/下属员工表.我需要选择一个老板(由 ID 指定)和他的所有下属(以及他们的下属等).不幸的是,现实世界的数据中有一些循环(例如,两个公司所有者都将对方设置为他们的老板).带有 CTE 的简单递归查询会因此而窒息(超过最大递归级别 100).员工还能被选上吗?我不在乎选择它们的顺序,只关心它们中的每一个都被选择了一次.补充:你想要我的查询?嗯......好吧......我虽然这很 ..
发布时间:2021-12-09 08:25:51 数据库

如果没有被任何其他子项引用,则删除父项

我有一个示例情况:parent 表有一个名为 id 的列,在 child 表中作为外键引用. 删除子行时,如果没有其他子行引用,如何删除父行? 解决方案 在 PostgreSQL 9.1 或更高版本中,您可以使用 数据修改 CTE.这通常不太容易出错.它最小化两个 DELETE 之间的时间范围,其中 竞争条件 可能导致并发操作的意外结果: WITH del_child AS (从孩 ..

在单个查询中将行插入到多个表中,从涉及的表中进行选择

我有两个以下形式的表格(即,每个 foo 都链接到一个栏). 创建表 foo (id 整数主键,x 整数非空,y 整数非空,...,bar_id INTEGER UNIQUE NOT NULL,外键 (bar_id) 参考 bar(id));创建表格栏(id 整数主键,z 整数非空,...); 使用嵌套查询可以轻松复制 foo 中满足特定条件的行: INSERT INTO foo (...) ..
发布时间:2021-12-05 21:48:21 其他开发

单个查询中的多个 CTE

是否可以使用 arel 在单个查询中组合多个 CTE?我正在寻找获得这样的结果的方法: WITH 'cte1' AS (...),带有递归 'cte2' AS (...),WITH 'cte3' AS (...)选择...从'cte3'哪里... 如您所见,我有一个递归 CTE 和两个非递归. 解决方案 在顶部使用关键字WITH once.如果您的任何公共表表达式 (CTE) 是递归的 ..

CTE 和 SubQuery 的区别?

来自这篇文章如何在以下程序? 有两种版本的答案,一种使用 sub-query,另一种使用 CTE 来解决相同的问题. 那么,使用 CTE(通用表表达式) 比“子查询"有什么优势(因此,更可读strong> 查询实际上在做什么) 使用 CTE 而不是 sub-select 的唯一优点是我实际上可以命名子查询.当 CTE 用作简单(非递归)CTE 时,这两个 之间还有其他区别吗? ..
发布时间:2021-12-02 15:05:27 数据库

带选项的无限循环 CTE (maxrecursion 0)

我有大量记录的 CTE 查询.以前它工作得很好.但是最近,它为某些成员抛出错误 语句终止.最大递归100在语句完成前已用完. 所以我将 OPTION (maxrecursion 0) 或 OPTION (maxrecursion 32767) 放在我的查询中,因为我不想限制记录.但是,结果是查询需要永远加载.我该如何解决这个问题? 这是我的代码: with cte as(-- ..
发布时间:2021-12-02 14:55:22 数据库

CTE递归获取树层次结构

我需要以特定方式获得一棵树的有序层次结构.有问题的表看起来有点像这样(所有 ID 字段都是唯一标识符,为了示例,我简化了数据): EstimateItemID EstimateID ParentEstimateItemID ItemType-------------- ---------- -------------------- ------——1 NULL 产品2 A 1 产品3 一 2 服 ..
发布时间:2021-12-02 14:47:45 数据库

哪个性能更好,CTE 或临时表?

CTE 或 Temporary Tables 哪个更高效? 解决方案 我会说它们是不同的概念,但与“粉笔和奶酪"没有太大区别. 临时表适合重复使用或对一组数据执行多次处理. CTE 可用于递归或简单地提高可读性. 并且,像视图或内联表值函数一样,也可以像宏一样在主查询中展开 临时表是另一个在范围方面有一些规则的表 我已经存储了我同时使用的过程(和表变量) ..

SQL Server CTE 和递归示例

我从不将 CTE 与递归一起使用.我只是在读一篇关于它的文章.本文借助 Sql server CTE 和递归显示员工信息.它基本上显示员工及其经理的信息.我无法理解这个查询是如何工作的.这是查询: WITHcteReports(EmpID、FirstName、LastName、MgrID、EmpLevel)作为(SELECT EmployeeID, FirstName, LastName, Ma ..
发布时间:2021-12-02 14:21:47 数据库

无效操作:不支持 WITH RECURSIVE

当我在下面运行查询时,我收到消息: [Amazon](500310) 无效操作:不支持 WITH RECURSIVE; 谁能解释一下为什么递归函数不起作用?(我正在研究亚马逊红移) 带有递归 r AS (选择1 作为我,1 AS阶乘联盟选择i+1 AS i,阶乘 * (i+1) 作为阶乘从 r哪里我 解决方案 Amazon Redshift 官方文档:不支持的 PostgreSQL 功能 ..

MySQL“与"条款

我正在尝试使用 MySQL 创建带有“WITH"子句的视图 WITH authorRating(aname, rating) ASSELECT aname, AVG(数量)从书按名称分组 但是 MySQL 好像不支持这个. 我认为这是非常标准的,而且我确信 Oracle 支持这一点.有没有强制 MySQL 使用“WITH"子句?我已经用 MyISAM 和 innoDB 引擎试过了.这两个 ..
发布时间:2021-11-20 21:26:26 数据库