问题标签 [outer-apply]

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 回答
286 浏览

sql - Postgre 等效于 MSSQL 外部应用

下面的代码适用于 MSSQL。关于如何将其翻译为 Postgre 的任何建议?

0 投票
1 回答
33 浏览

.net - 如何将表中的行转置为列(使用外部应用、动态查询)?

我在 MS-SQL DB 中有一个 Order 表和一个 OrderRow 表。

我想编写一个选择查询,它将返回这样的结果。

目前我的查询如下。

但问题是 OrderRow 中的项目数不是固定数字。

我如何编写一个适用于任意数量项目的查询?..

0 投票
1 回答
73 浏览

sql - 显示 TOP 1 考虑 where 条件(如果存在)-SQL 查询

我有一个使用OUTER APPLY如下查询的情况

但是我有新的要求,如果存在的话,OUTER APPLY应该在哪里发生。customer_category = 'General'

伪代码如下

任何人都可以建议以有效方式重写外部应用代码的更好方法。

0 投票
1 回答
196 浏览

sql - 使用多个外部参考时的外部参考错误

所以我有这个运行良好的查询,但我需要在其他几个领域使用工厂标准成本,所以我没有多次调用该函数,而是将它放在外部应用中。但是,它现在似乎不起作用。我收到以下错误:

在包含外部引用的聚合表达式中指定了多个列。如果要聚合的表达式包含外部引用,则该外部引用必须是表达式中引用的唯一列。

这是工作查询:

这是我将其更改为的内容。我将对函数的调用移至外部应用,并在主查询和第二个外部应用中使用它。该错误引用了第二个外部应用的第一行,其中oa1.[Factory Std Cost]

这是 AllPartsList 的样子: 所有零件清单表

和 bomBreakdown: bom分解表

我恢复了查询,然后尝试一次添加一些内容,以查看出错的确切位置。我添加了[# of Ref Parts]仅使用 Make/But = 'B' 的行(它与 Buy Parts 基本相同)。在我为 stdCost 添加函数之前,它运行良好。然后我收到了相同的外部参考错误。这是一行:

经过一番玩弄后,我发现问题出ap.[SourcePartID]在对函数的调用中。这是链接 AllPartsList 和 bomBreakdown 表的关键字段,因此我可以删除ap.并只使用 bomBreakdown 表中的那个,但它并没有解决我首先尝试解决的不调用函数的问题多次。

我正在使用:

  • SQL Server 2019 (v15.0.2070.41)
  • SSMS v18.5
0 投票
2 回答
47 浏览

sql - 从 SQL Server 转换时如何在 oracle 中使用 Outer Apply

我正在尝试将用 SQL 编写的代码转换为 oracle,并在其中使用外部应用。但是由于某种原因,外部应用在 oracle 中不起作用。我正在使用 oracle 12c。我正在转换的代码是:

我确实使用左连接和联合在 oracle 中编写了代码,但它不起作用。有人可以告诉我需要做什么才能使用外部应用或使用其他方式编写代码。

提前致谢。

0 投票
0 回答
140 浏览

sql-server - 如何在 typeorm 中使用 SQL Server 应用

对于分配给我的项目,我必须更改 typeorm 查询构建器以合并“外部应用”。

我在 typeorm 中找不到任何支持。

我已经通过连接的“on”中的连接和子查询寻找方法来做到这一点,但是数据库中的数据量使用多个子查询生成超时。此外,我考虑在构建器中插入 RAW 查询,但找不到这样做的机制。

有没有办法在 typeorm 中使用“应用”?

我个人更喜欢手写我所有的查询,所以如果你想出不使用 typeorm 的理由,我同意!但这是一个现有的项目,我不会重写它!

0 投票
1 回答
1406 浏览

sql - BigQuery 中的外部应用

我想将一列应用于我提取最新登录日期的用户列表。传统上我会做这样的事情:

但是 BigQuery 似乎无法识别 Outer Apply 关键字。我做错了什么,上面有替代品吗?

0 投票
1 回答
34 浏览

sql - 带有 Outer-Apply 的 SPROC 返回太多行

我有一个足够复杂的 SPROC,我对其进行了修改以返回更多列(来自其他表)。

我想要的是让这个 SPROC 仍然返回相同数量的行和相同的数据,但也为这些行填充新列(如果数据存在)。我的修改确实填充了新列,但也返回了更多行(基于它找到那些附加表的值)。

这是附加表的示例:

表 FCB:

FCBID 发票编号 FCBID代码 CB代码 FCBJrnID
ABC1 718 abcC1 CB1 0 1234
ABC2 718 abcC2 CB1 0 1234
ABC3 718 abcC3 CB1 0 1234
DEF1 718 abcC4 CB1 0 1234
防御2 718 ABCC5 CB1 0 1234
防御3 718 abcC6 CB1 0 1234
BBB2 334 ABCC7 CB2 1 3333
AAA5 225 ABCC8 CB3 0 4444

表发票:

发票编号 产品编号 曲目编号
334 P4 T7
718 P1 T1
718 P2 T1
225 P5 T5
225 P6 T6
718 P3 T1
718 P9 T1
718 P3 T2
718 P9 T2
718 P1 T2
718 P2 T2

表 FCBAP:

FCBID 产品编号 曲目编号
ABC1 P1 T1
ABC2 P2 T1
ABC3 P3 T1
DEF1 P1 T2
防御2 P2 T2
防御3 P3 T2
BBB2 P4 T3

原始 SPROC(它的主要部分)围绕 InvoiceID 和 ProdID,当我执行原始 SPROC 时,它只返回了 2 行(正确的行为)。即按 InvoiceID 搜索 = 718

发票编号 产品编号
718 P1
718 P2
718 P3
718 P9

我在这个 SPROC 中添加了以下部分:

在主查询中添加了列:

我添加了另一个外部应用部分,以从其他表中获取数据:

在这种情况下我期望返回的内容:

发票编号 产品编号 FCBID FCBID代码 CB代码
718 P1 ABC1 abcC1 CB1
718 P2 ABC2 abcC2 CB1
718 P3 ABC3 abcC3 CB1
718 P9

但我得到的是:

发票编号 产品编号 FCBID FCBID代码 CB代码
718 P1 ABC1 abcC1 CB1
718 P2 ABC2 abcC2 CB1
718 P3 ABC3 abcC3 CB1
718 P1 DEF1 abcC4 CB1
718 P2 防御2 ABCC5 CB1
718 P3 防御3 abcC6 CB1
718 P9
0 投票
1 回答
71 浏览

sql - ORacle外部应用与group by的组合

为什么这两个查询有两个不同的结果:

  1. 第一个查询:
  1. 第二个查询:

co.CUSTOMERS c的数据

客户ID 电子邮件地址 全名
22 raymond.bailey@internalmail 雷蒙德·贝利

订单数据

ORDER_ID ORDER_DATETIME 客户ID 订单状态 STORE_ID
1819 19 年 3 月 11 日 07.20.17.942291 上午 22 完全的 22
1435 19 年 1 月 7 日 03.57.1​​4.316173 下午 22 完全的 1
511 2018 年 7 月 19 日上午 06.24.36.024192 22 完全的 1
184 26-APR-18 05.13.15.426435 上午 22 完全的 1

第一个查询只
返回下面的第二个查询:

客户ID ORDER_ID
22 10000
0 投票
1 回答
43 浏览

sql-server - 无法初始化 sqlcmd 库,错误号为 -2147467259。- XML 列

我不断收到此错误

初始化 sqlcmd 库失败,错误号为 -2147467259

当我尝试执行以下 SQL 代码时。这是一个正常的查询,而不是通过 SQL Server 代理。

但是,当我按照以下方式修改查询时,一切正常。

所以问题肯定出在语句的这一部分(我在表中引用了一个名为“ Configuration”的XML列“ Configuration”->列名和表名相同):

当我在msdb.dbo.sp_send_dbmail语法之外运行两个查询时,它们都运行得很好。

有谁知道发生了什么?我怀疑它是否与权限相关,因为导致问题的部分正在使用不会导致任何问题的同一张表。