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

sql - 表有不同数据类型时无法将列转换为行

我有一个如下表:

当我尝试使用以下查询将列转换为行时,出现错误并且查询失败。

编辑:我也在下面尝试过,但得到了同样的错误

错误:

当我尝试 CAST DOB 字段时,datetime我仍然遇到同样的错误:

我怎样才能在这里进行?任何帮助表示赞赏。

0 投票
2 回答
5320 浏览

sql-server - T-SQL CROSS APPLY 与 GROUP BY

我是 CROSS APPLY 的新手,并试图了解它的工作原理。具体来说,在进行一些测试时,我发现在 CROSS APPLY 语句中包含 GROUP BY 子句可以显着提高聚合的性能,但这似乎有点违反直觉。我想让我感到困惑的是操作的精确顺序。

这是我的测试:

这会产生正确的结果:

注释掉 GROUP BY 会导致 Mary 的值被写为 NULL:

因此,虽然两个结果集都可以被认为是“正确的”,但第一种方法只影响实际相关的行。在更大的数据集上,这似乎可以大大提高性能。

这是我感到困惑的地方: 一般来说,我相信在任何 SQL 语句中,WHERE 子句都会在 GROUP BY 子句之前处理,不是吗?在这种情况下,SQL Server 查询优化器是否知道在左右表之间应用 WHERE 子句之前先执行 GROUP BY?令我惊讶的是,以这种方式编写它会导致正确的结果和更好的性能。非常感谢对引擎盖下到底发生了什么的解释。

谢谢!

0 投票
1 回答
57 浏览

sql - 将三个查询的结果组合成一个数据集 cross Apply 或 join

如何将三个查询的结果合并到一个数据集中?交叉申请还是加入?

结果

表 C 有两个结果 ZZ 将为空白

这使用两个查询 三个会很棒!

select * from tbl_A A
cross apply
(
select B.DocCountB from tbl_b B
Where B.Dept=A.Dept
) sod

0 投票
0 回答
124 浏览

sql - 为父项选择唯一的子项组合

添加了 SQLFiddle:http ://sqlfiddle.com/#!3/0792f/6/0

给定以下表结构: 关系 (id_object_parent, id_object_child)

让我们假设以下基本数据:

基于这些数据,我的结论应该是:

简而言之:我想将孩子的所有独特组合及其出现次数分配给同一个父母。

我的第一个设置是对一个东西进行交叉应用:

这个查询的问题是我得到了所有独特的“模式”,但也只有“完整”的模​​式。最终结果是此查询将无法正确处理父 #3,因为孩子 10+11 也是父 3 的子出现,但此查询将忽略这一点。

有什么建议么?

0 投票
5 回答
2090 浏览

sql - SQL 选择第一列并为每一行选择唯一 ID 和最后日期

今天早上我遇到了一个问题,我尝试了很多解决方案,但都没有给我预期的结果。

我有一个看起来像这样的表:

我有一个查询,它返回这样的结果:我有唯一的 ID,对于这个 ID,我想获取 ID 的最后日期

但我不知道我该怎么做。我试过加入,交叉申请..

如果你有什么想法,

谢谢

克莱门特法亚德

0 投票
2 回答
102 浏览

sql-server - SQL Server 2005 - WHERE NOT EXISTS 和 NOT EXISTS 内的复杂脚本

脚本目标:从列表中获取数字列表,其中数字未出现在另一个列表中。

复杂性:其他数字列表只能通过复杂的脚本获得 - 出于某种原因,当我知道应该有结果时,我没有得到结果;因为第一个列表将包含所有数字,而第二个数字列表将仅包含一些数字;所以我应该得到一些结果。

我写的剧本(审查)

如果我运行第 1 部分(在不存在之前)它工作正常

如果我运行第 2 部分(不存在的数据),它也可以正常工作 - 结果不同且更少(包含第 1 部分中的数字)

但在一起他们不会。所以我需要知道如何做到这一点,如果不存在不是我需要使用的?

0 投票
1 回答
141 浏览

sql-server - 不同层次的交叉申请

我有如下所示的 xml 数据:

我想创建一个按以下顺序包含列的表:home、away、homeID、awayID、homeScore、awayScore。我似乎无法将家庭 ID(363 和 375)放入表中:

0 投票
2 回答
44 浏览

sql - 每个外键组合多条记录

我有一个从方式遗留下来的有点棘手的表结构。

我有一张大约有 4 列的表格。

我需要将这 5 条记录组合成一行,结构如下。

我试过的

0 投票
1 回答
637 浏览

sql-server - 应用 XML 交叉应用从 XML 文件中获取数据

我正在应用 XML 交叉应用以通过使用存储过程从具有多个节点的 XML 项目文件中提取数据。
存储过程如下

而不是只得到一行数据,我得到的是交叉乘法行,如下所示

很抱歉发布这样的结果正确的行以粗体突出显示,但为什么我得到所有其他行?

XML 文件链接: XML 文件

0 投票
1 回答
4804 浏览

sql - 在 SQL Server 中提取与 XML 数组中的条件匹配的数据

考虑到这个简单的表id (int), name (varchar), customFields (xml)

customFields 包含 C# 字典的 XML 表示形式。例如:

如何选择包含 3 列的表的所有行:id、名称和 1 列,该列是string标记的值int等于 1 的标记内容。

最接近我设法得到的结果是:

问题是,如果 xml 没有标签 = 1,则根本不会返回该行(我仍然想在第三列中int获得带有 id、name 和 name 的行)NULL