问题标签 [cross-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 回答
58 浏览

sql - 在 INNER JOIN 中使用 SQL 函数(数据取决于源)更新表

我有这样的UPDATE声明:

它使用一个简单的函数 - 单独运行 - 返回:

上述更新语句返回错误“无法绑定多部分标识符“B.B_ID”。” 我究竟做错了什么?

0 投票
0 回答
290 浏览

sql-server - 如何从 CROSS APPLY 插入并在 SQL Server 中的特定列处执行 INTEGER INCREMENT?

我有这个查询(效果很好):

但是,对于 column LineNum,我想插入一个递增的数字(例如 1、2、3、4),具体取决于 Items/Item 下有多少孩子而不是那里的实际值。

我将如何即时进行此增量?

我让你们困惑了吗?

编辑 -

XML 看起来像这样:

0 投票
3 回答
2391 浏览

sql - 交叉应用语法

我有一个查询,我认为使用交叉应用会更有效。我已将语法从加入更改为交叉应用,但出现一般语法错误:

消息 170,级别 15,状态 1,第 14 行第 14 行:“应用”附近的语法不正确。消息 156,级别 15,状态 1,第 21 行关键字“as”附近的语法不正确。

这是我第一次使用交叉应用,我没有看到语法错误(至少在与我找到的示例进行比较时)。这是代码:

任何帮助将不胜感激!

标清

0 投票
6 回答
1159 浏览

sql-server - 由 CROSS APPLY 触发时的顺序 SQL 插入

这个过程有几个步骤,反映在数据库的各种表中:

生产->UPDATE使用类似的东西到库存表

上面提供了一个日志表TRIGGER如下所示:

最后,每次更新都应该 在我添加到上面 TRIGGER 的财务表中占INSERT 一行:

问题在于这一行:

这意味着计算帐户的最新余额。但是因为CROSS APPLY将所有这些都INSERTS视为一个批次,所以计算是根据相同的最后一条记录完成的,我得到了一个不正确的余额数字。例子:

解决这个问题的方法是什么?表上的触发器FINS而不是余额计算?

0 投票
2 回答
3594 浏览

performance - 为什么交叉应用比内连接快?

我有以下功能:

以下查询用于提取Object ID和:Detail IDDetail Name

下面的屏幕截图显示了它的执行计划成本(需要 32 秒):

在此处输入图像描述

在以下查询中,我更改了要使用的查询,cross applyinner join返回FunctionB特定Detail NameDetail ID

下面的屏幕截图显示了它的执行计划成本(需要 3 秒):

在此处输入图像描述

在第一种情况下,FunctionB返回所有对Detail IDDetail Name通常需要很长时间。在第二种情况下,FunctionB执行速度更快,因为它只返回Detail Name特定的Detail ID,但它是为每个执行的Object ID

为什么第一种情况这么慢?SQL Server 是FunctionB在第二种情况下为每一行执行,还是正在缓存结果并避免执行具有相同参数的函数?

0 投票
2 回答
9189 浏览

tsql - 带有计数和总和的 TSQL 交叉应用

我刚刚发现了 CROSS APPLY 运算符,并认为它在操作派生列以进行计算时非常有用。

所以,我尝试了以下方法:

但我收到以下错误:

APPLY 右侧的聚合不能引用左侧的列。

我不太明白这个错误,尤其是第一个交叉应用实际上是孤立地工作的。我是不是完全搞错了这个概念?

0 投票
2 回答
1731 浏览

sql - CROSS APPLY VS STUFF 函数

我正在GROUP_CONCATSQL Server 中搜索等效函数,发现这两个选项是CROSS APPLYSTUFF。因为我想在日程表中使用joinconcatenate的字段的日期。sday这是我的数据库架构,请参阅下面的照片。那么这个更好的方法是什么?

医生模式调度模式

我尝试STUFF了这样的功能,我得到了重复的记录:

在此处输入图像描述

0 投票
2 回答
291 浏览

sql - SQL Server APPLY AND JOIN 关键字指南

我正在阅读有关使用apply & join关键字的文章。查看一些 SQL,其中一个示例使用内部联接,而其他示例使用 apply 关键字。

这是表格图片

在此处输入图像描述

两个查询都返回相同的输出和相同的执行计划。这是图片

在此处输入图像描述 在此处输入图像描述

再次使用外部应用和左外部连接

现在两个查询再次产生相同的输出和相同的执行计划。所以我只是不明白在什么样的情况下应该使用OUTER APPLYCROSS APPLY代替内连接或左外连接?

所以如果可能的话,应该使用相同的场景OUTER APPLY or CROSS APPLY谢谢

0 投票
1 回答
89 浏览

sql-server - SQL 将列转换为行

我有一个三列 18 行的表。我想变成两行的 18 列。这是桌子

新表应将“类别”作为列,将“带”和“点”作为行

我不确定如何使用 Cross Apply 和 Pivot 来执行此操作,或者即使这是正确的方法。

提前致谢。

0 投票
1 回答
1438 浏览

xml - 使用 xml .nodes() 功能返回所有实例

我有以下代码,但它只返回MonthDateand'Value'值的第一个实例。我一直在尝试,.nodes()Cross Apply无法弄清楚语法,我不断收到错误;

无效的对象名称“xmlContent.nodes”。

代码:

当我删除条件时,它返回andCROSS APPLY的第一个实例,但我想要它们。MonthDatevalue

谢谢