问题标签 [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-server - 用 sum 在 sql 中交叉应用
我有以下查询:
它作用于下Tasks
表:
Progress
这样的xml 在哪里:
(通常有超过 2 个步骤..)
我的查询产生(不是实际数据,只是样本):
这几乎是我需要的,但不完全是。
我需要所有唯一的SUM
TaskIDLS_HowOthersAnswered
和LS_ImproveMyChances
.
我试图分组,但没能成功,因为这与常规的内部连接太不同了..
tsql - 包括实际查询计划会增加执行时间
我使用的是 SQL Server 2005,我有一个相当复杂的查询,需要一两秒才能执行。
我想使用查询计划来调试性能,但是当我在输出中包含实际的执行计划时,查询从需要 2 秒到近 2 分钟 - 有时更长。
此查询中唯一有点有趣的代码是针对表值函数的几个交叉应用。有趣的是,当我删除这些交叉应用时,查询会在大约 100 毫秒内执行。
这是一个已知的问题?
linq - Devart Oracle 交叉应用异常
我遇到了一个问题,在一台机器上代码可以工作,而另一台机器不行。显然,我们正在使用相同的 Devart dotConnect for Oracle 版本(6.80.325.0)。问题是当我们在 LINQ 中有一个子查询并且我们得到 Oracle 不支持交叉应用时。
我读了很多关于它和子查询的文章,但我真的不明白为什么它在某些机器上可以,而在另一些机器上不行。我错过了安装中的一些修复吗?
谢谢。
sql-server - 交叉应用以从 SQL Server 中的 Xml 获取子父值
我有以下 XML:
我想要通过使用 SQL Server 查询得到以下输出:
我正在使用以下 SQL 查询:
我无法获得包含父行值的第一列。您能否建议我可以进行哪些更改以获得第一列值?
linq - LINQ 到 SQL。如何防止使用 Apply 运算符
我有一个查询:
此代码转换为 SQL:
该代码使用 Apply。如果将 Apply 替换为 Left Join代码会在几次内运行得更快。如何强制 Linq 使用左连接生成代码?
sql-server - 具有 CLR 集成表功能的高效交叉应用
在 SQL Server 中,我有一个基于 CLR 集成的表值函数 GetArchiveImages。我这样称呼它:
问题是对函数的每个单独调用都有开销。
如果它可以一次与整个表连接,开销将非常小,但由于它为每一行调用一次,所以开销会随着行数的增加而增加。
我不使用存储过程,因为存储过程返回的表不能与任何东西连接(据我所知)。
有没有一种有效的方法将表与存储过程或函数的结果批量连接,而不是逐行连接?
xml - 使用 XML 路径交叉应用(逗号划定) - 如果 > 1 则删除 Max Row
我想要的是如果它返回超过 1 然后删除MAX([year]) 行但返回其余的。这意味着如果 Cross Applyselect 返回 4 条记录,则仅返回 3。如果 3,则仅返回 2。如果 2,则仅返回 1。我相信最好的方法是将逗号更改为另一个字符(例如 #)。右搜索 # 删除所有内容 右下。如果我不使用 Cross Apply,我可能会有 3 行 Row(1)18 ----John Smith ---- BA ---- College1 --- 1990 Row(2) 18----John Smith ---MS---- Univ1-----2003 Row(3)18----John Smith ----BA ----Univ2 -----2010....我想删除第 (3) 行,因为它是学生最新/当前的学位信息。我只想要之前的学位、机构、年份而不是当前的。也许是 Right(rtrim(everthing after last comma) 但必须计数 下面是 SQL:
结果查询
PersonID -- 全名 -- 逗号学位 -- CommInst -- CommYear
18 -- John Smith -- 学士、硕士、博士 -- College1、Univ1、Univ2 -- 1990、2003、2010
45 -- Paul Ryan -- 学士、硕士 -- College15、Univ19 -- 1999、2008
134 -- 辛迪·琼斯 -- 文学学士 -- College56 -- 1978
我只想返回PRIOR学位、机构、年份。不是最新的。含义 PersonID 18 删除 PHd,Univ2,2010。PersonID 45 删除 MS,Univ19,2008。PersonID 134 保留原样,因为只有 1 条记录。
希望这是有道理的。提前致谢。
sql - SQL 交叉应用
我有一个包含审计信息的 SQL 表:
并尝试显示审计记录之间的差异:
我正在使用以下 SQL 查询:
是否可以合并两个选择查询以提高性能?
xml - 如何从父节点查询所有子节点?
我有这个非常简单的 xml,并试图将<pcc>
节点中的所有数据提取到结果集中。我读到我将以某种方式使用 CROSS APPLY,但到目前为止我的努力都失败了。
提前致谢。
sql - 获取交叉应用内的最大行数
在我的 sql 案例中,我无法计算 row_number 的最大值。
我将直接在 SQL Fiddle 示例上进行解释,因为我认为它会更快地理解:SQL Fiddle
- 列“OrderNumber”、“HourMinute”和“Code”仅代表我的表格,因此与编码目的无关
- “DateOnly”列包含日期
- “电话”列包含我客户的电话
- “购买”列包含客户在过去 12 个月内购买的次数。请注意,该值是针对每个日期提供的,因此 12 个月的时间段是相对于我们正在评估的日期而言的。
最后,我试图生成的列是“PREVIOUSPURCHASES”,它计算“购买”列中提供的数字在过去 12 个月中出现的次数(对于每部手机)。
您可以在 SQL Fiddle 示例中看到我到目前为止所取得的成就。'PREVIOUSPURCHASES' 列正在产生我想要的东西,但是,它也产生了较低的值(例如,只有最大值是我需要的值)。
例如,您可以看到第 4 行和第 5 行是重复的,其中一个的“PREVIOUSPURCHASES”为 1,另一个为 2。在这种情况下,我不想拥有第 4 行。
我虽然想用 max(row_number) 之类的东西替换 row_number,但我无法生成它(已经在 stackoverflow 上看过类似的帖子......)。
这应该在 SQL Server 2012 中实现。
提前致谢。