common-table-expression相关内容

如何自下而上遍历树以计算PostgreSQL中节点值的(加权)平均值?

例如在PostgreSQL中对整个树求和使用的是WITH RECURSIVE(公用表表达式).但是,这些示例通常从上到下,将树展平,并对整个结果集执行汇总功能.我没有找到合适的示例(在StackOverflow,Google等上)解决我要解决的问题: 考虑一个不平衡的树,其中每个节点可以具有一个关联的值.大多数值都附加到叶节点,但其他值也可能具有值.如果节点(是否有叶子)具有显式附加的值,则 ..

使用递归查询在Oracle SQL中使用有向图仅访问每个节点一次

说明 在我们的问题域中,我们正在研究一组连接在一起以形成图形的边.从给定的一个或多个节点开始,我们必须列出整个图中连接到给定的一个或多个节点的所有链接.我们必须从左到右,从上到下显示这些链接. 对于循环数量有限的图形,我们有一个针对此问题的有效查询.循环次数越多,执行时间就成倍增加. 我们需要在递归过程中限制对同一节点的访问,以找到可行的解决方案. 下面的示例仅包含一个循环 ..

为什么递归CTE会按程序运行分析功能(ROW_NUMBER)?

昨天我回答了一个递归CTE,该CTE暴露了在SQL Server中实现这些问题的方式(可能也在其他RDBMS中实现)的问题.基本上,当我尝试针对当前递归级别使用 ROW_NUMBER 时,它将针对当前递归级别的每一行子集运行.我希望这会在真正的SET逻​​辑中起作用,并且会违反整个当前递归级别. 看来,从此MSDN文章,发现的问题是预期的功能: CTE的递归部分中的分析函数和集合函数是 ..

CTE和TEMP表之间的主要区别是什么?

使用 CTE的(公用表表达式)代替使用 temp表是否有好处. 我经历了两者之间的性能测试,但是我发现两者之间没有太大区别. 使用 CTE'S 的利弊是什么? 解决方案 CTE和临时表之间的最大区别可能是CTE的执行范围为单 SELECT,INSERT,UPDATE,DELETE或CREATE VIEW语句. 基本上,您不能像使用临时表那样重复使用CTE. 从文档 ..

t-SQL中的SYS_CONNECT_BY_PATH等效项

我需要将Oracle查询转换为SQL Server. 查询生成“管理层次".基于用户名.输出将具有一个管理链,最后一个元素是当前经理. 表格: EE_USERNAME MGR_USERNAMEuser1首席执行官user2 user1user3 user2用户4用户1user5 user2用户6用户3 样本输出: user1:首席执行官用户2:首席执行官,用户1用户3:首席 ..

CTE中的SQLite RANDOM()函数

我在SQLite中发现了RANDOM()函数的行为,这似乎不正确. 我想使用随机RANDOM()和CASE生成随机组.但是,看来CTE的行为方式不正确. 首先,让我们创建一个表 DROP TABLE如果存在tt10ROWS;创建温度表tt10ROWS(some_int INTEGER);插入tt10行值(1),(2),(3),(4),(5),(6),(7),(8),(9),(10) ..
发布时间:2021-04-23 19:42:34 数据库

ROW_NUMBER在CTE中不起作用

我正在查看报告,看来row_number不能递归工作. !我简化了例子!! 从具有3条记录的表中进行 : 声明@sometable表(id int,id2 int)插入@sometable选择1作为ID,选择11作为ID2全部合并选择2,22全部合并选择3,33 在CTE中选择“全部",然后标记要在下一次迭代中排除的第一条记录: ;使用cte(iteration,ord,id ..

SQL UPDATE和CASE语句不起作用

我有下表“销售"在MS SQL Server中,[FieldX]的更新不正确: (.. [我的评论]当然不是表格中的实际列) 最后3行应为= 3的原因是因为我正在使用以下规则更新字段: 使用cte_previous_rows AS(SELECT Staff_Id,LAG(FieldX)OVER(按Staff_Id ORDER划分的[date])作为Prev_Row来自销售)更新销售S ..
发布时间:2021-04-21 19:33:30 数据库

如何编写SQL查询来计算与其父装配一起出售的零部件数量?(Postgres 11/递归CTE?)

我的目标 计算作为其父装配的一部分出售的零件的总和. 我确定这肯定是一个常见的用例,但是我还没有找到能导致我寻找结果的文档. 背景 我在CentOS 7上运行Postgres 11.我有一些如下表: 创建表the_schema.names_categories(id INTEGER NOT NULL始终以身份标识生成的主键,created_at TIMESTAMPTZ D ..

使用CTE在CROSS APPLY中拆分结果

我有一些数据需要以包含标记标签的行的形式输出,这是我在一个表值函数内所做的。 此功能一直很好使用以下格式的代码,使用 search 查询收集我的数据,然后使用 results的输出将其插入返回的表中。 我现在需要使用更长的数据字段并将其拆分为多行,而我处于 我最初的想法是想使用CTE处理查询中的数据,但看不到从我的搜索查询获取数据到我的CTE以及从那里到我的结果集的方法。 ..
发布时间:2020-10-06 07:42:10 数据库

CTE查询引发递归用尽错误

以下CTE查询将引发“语句终止。在语句完成之前,最大递归100已用尽。” 有MyCTE AS( 选择o.organizationid, 组织AS组织 FROM组织o INNER JOIN商店在s.organizationid = o.organizationid UNION ALL 选择store.storeid, CAST(storeNAme AS NVARCHAR(50 ..
发布时间:2020-10-06 07:42:07 数据库

使用CTE和NEWID()更新表

我想尝试使用同一张表中的随机值更新一张表,但是原始表没有要遵循的标识或任何其他数字列... 与cteTable1 AS( 选择 ROW_NUMBER()OVER(ORDER BY NEWID())AS n, ENDE_NO_Address FROM TableX ) 更新TableX SET ENDE_NO_Address =( 从cteTable1选择ENDE_NO_Addres ..
发布时间:2020-10-06 07:42:03 数据库

复杂查询的CTE

我有这个查询: SELECT C. [名字], C. [姓氏] , SUM(Salary.Emp_Salary)AS'当前薪水' FROM ( SELECT Emp_First_Name AS“ First Name”, Emp_Last_Name AS“姓氏”, MAX(Emp_Salary_Change_Year)AS“更改年份” 来自Employee_De ..
发布时间:2020-10-06 07:41:49 数据库

在TSQL中连接单列

我正在使用SSMS 2008,并尝试根据不同字段的分组将其中一行合并在一起。我有两列,people_id和address_desc。它们看起来像这样: address_desc people_id ---------- ----- ------- 田纳西州莫弗里斯伯勒37130 F15D1135-9947-4F66-B778-00E43EC44B9E 11 Mohawk Rd。, ..
发布时间:2020-10-06 07:41:45 其他开发