问题标签 [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.
sql - 在 INNER JOIN 中使用 SQL 函数(数据取决于源)更新表
我有这样的UPDATE
声明:
它使用一个简单的函数 - 单独运行 - 返回:
上述更新语句返回错误“无法绑定多部分标识符“B.B_ID”。” 我究竟做错了什么?
sql-server - 如何从 CROSS APPLY 插入并在 SQL Server 中的特定列处执行 INTEGER INCREMENT?
我有这个查询(效果很好):
但是,对于 column LineNum
,我想插入一个递增的数字(例如 1、2、3、4),具体取决于 Items/Item 下有多少孩子而不是那里的实际值。
我将如何即时进行此增量?
我让你们困惑了吗?
编辑 -
XML 看起来像这样:
sql - 交叉应用语法
我有一个查询,我认为使用交叉应用会更有效。我已将语法从加入更改为交叉应用,但出现一般语法错误:
消息 170,级别 15,状态 1,第 14 行第 14 行:“应用”附近的语法不正确。消息 156,级别 15,状态 1,第 21 行关键字“as”附近的语法不正确。
这是我第一次使用交叉应用,我没有看到语法错误(至少在与我找到的示例进行比较时)。这是代码:
任何帮助将不胜感激!
标清
sql-server - 由 CROSS APPLY 触发时的顺序 SQL 插入
这个过程有几个步骤,反映在数据库的各种表中:
生产->UPDATE
使用类似的东西到库存表
上面提供了一个日志表,TRIGGER
如下所示:
最后,每次更新都应该 在我添加到上面 TRIGGER 的财务表中占INSERT
一行:
问题在于这一行:
这意味着计算帐户的最新余额。但是因为CROSS APPLY
将所有这些都INSERTS
视为一个批次,所以计算是根据相同的最后一条记录完成的,我得到了一个不正确的余额数字。例子:
解决这个问题的方法是什么?表上的触发器FINS
而不是余额计算?
performance - 为什么交叉应用比内连接快?
我有以下功能:
以下查询用于提取Object ID
和:Detail ID
Detail Name
下面的屏幕截图显示了它的执行计划成本(需要 32 秒):
在以下查询中,我更改了要使用的查询,cross apply
并inner join
返回FunctionB
特定Detail Name
的Detail ID
:
下面的屏幕截图显示了它的执行计划成本(需要 3 秒):
在第一种情况下,FunctionB
返回所有对Detail ID
,Detail Name
通常需要很长时间。在第二种情况下,FunctionB
执行速度更快,因为它只返回Detail Name
特定的Detail ID
,但它是为每个执行的Object ID
。
为什么第一种情况这么慢?SQL Server 是FunctionB
在第二种情况下为每一行执行,还是正在缓存结果并避免执行具有相同参数的函数?
tsql - 带有计数和总和的 TSQL 交叉应用
我刚刚发现了 CROSS APPLY 运算符,并认为它在操作派生列以进行计算时非常有用。
所以,我尝试了以下方法:
但我收到以下错误:
APPLY 右侧的聚合不能引用左侧的列。
我不太明白这个错误,尤其是第一个交叉应用实际上是孤立地工作的。我是不是完全搞错了这个概念?
sql - CROSS APPLY VS STUFF 函数
我正在GROUP_CONCAT
SQL Server 中搜索等效函数,发现这两个选项是CROSS APPLY和STUFF。因为我想在日程表中使用joinconcatenate
的字段的日期。sday
这是我的数据库架构,请参阅下面的照片。那么这个更好的方法是什么?
我尝试STUFF
了这样的功能,我得到了重复的记录:
sql - SQL Server APPLY AND JOIN 关键字指南
我正在阅读有关使用apply & join
关键字的文章。查看一些 SQL,其中一个示例使用内部联接,而其他示例使用 apply 关键字。
这是表格图片
两个查询都返回相同的输出和相同的执行计划。这是图片
再次使用外部应用和左外部连接
现在两个查询再次产生相同的输出和相同的执行计划。所以我只是不明白在什么样的情况下应该使用OUTER APPLY
或CROSS APPLY
代替内连接或左外连接?
所以如果可能的话,应该使用相同的场景OUTER APPLY or CROSS APPLY
谢谢
sql-server - SQL 将列转换为行
我有一个三列 18 行的表。我想变成两行的 18 列。这是桌子
新表应将“类别”作为列,将“带”和“点”作为行
我不确定如何使用 Cross Apply 和 Pivot 来执行此操作,或者即使这是正确的方法。
提前致谢。
xml - 使用 xml .nodes() 功能返回所有实例
我有以下代码,但它只返回MonthDate
and'Value'
值的第一个实例。我一直在尝试,.nodes()
但Cross Apply
无法弄清楚语法,我不断收到错误;
无效的对象名称“xmlContent.nodes”。
代码:
当我删除条件时,它返回andCROSS APPLY
的第一个实例,但我想要它们。MonthDate
value
谢谢