问题标签 [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 - 表有不同数据类型时无法将列转换为行
我有一个如下表:
当我尝试使用以下查询将列转换为行时,出现错误并且查询失败。
编辑:我也在下面尝试过,但得到了同样的错误
错误:
当我尝试 CAST DOB 字段时,datetime
我仍然遇到同样的错误:
我怎样才能在这里进行?任何帮助表示赞赏。
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?令我惊讶的是,以这种方式编写它会导致正确的结果和更好的性能。非常感谢对引擎盖下到底发生了什么的解释。
谢谢!
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
sql - 为父项选择唯一的子项组合
添加了 SQLFiddle:http ://sqlfiddle.com/#!3/0792f/6/0
给定以下表结构: 关系 (id_object_parent, id_object_child)
让我们假设以下基本数据:
基于这些数据,我的结论应该是:
简而言之:我想将孩子的所有独特组合及其出现次数分配给同一个父母。
我的第一个设置是对一个东西进行交叉应用:
这个查询的问题是我得到了所有独特的“模式”,但也只有“完整”的模式。最终结果是此查询将无法正确处理父 #3,因为孩子 10+11 也是父 3 的子出现,但此查询将忽略这一点。
有什么建议么?
sql - SQL 选择第一列并为每一行选择唯一 ID 和最后日期
今天早上我遇到了一个问题,我尝试了很多解决方案,但都没有给我预期的结果。
我有一个看起来像这样的表:
我有一个查询,它返回这样的结果:我有唯一的 ID,对于这个 ID,我想获取 ID 的最后日期
但我不知道我该怎么做。我试过加入,交叉申请..
如果你有什么想法,
谢谢
克莱门特法亚德
sql-server - SQL Server 2005 - WHERE NOT EXISTS 和 NOT EXISTS 内的复杂脚本
脚本目标:从列表中获取数字列表,其中数字未出现在另一个列表中。
复杂性:其他数字列表只能通过复杂的脚本获得 - 出于某种原因,当我知道应该有结果时,我没有得到结果;因为第一个列表将包含所有数字,而第二个数字列表将仅包含一些数字;所以我应该得到一些结果。
我写的剧本(审查)
如果我运行第 1 部分(在不存在之前)它工作正常
如果我运行第 2 部分(不存在的数据),它也可以正常工作 - 结果不同且更少(包含第 1 部分中的数字)
但在一起他们不会。所以我需要知道如何做到这一点,如果不存在不是我需要使用的?
sql-server - 不同层次的交叉申请
我有如下所示的 xml 数据:
我想创建一个按以下顺序包含列的表:home、away、homeID、awayID、homeScore、awayScore。我似乎无法将家庭 ID(363 和 375)放入表中:
sql - 每个外键组合多条记录
我有一个从方式遗留下来的有点棘手的表结构。
我有一张大约有 4 列的表格。
我需要将这 5 条记录组合成一行,结构如下。
我试过的
sql-server - 应用 XML 交叉应用从 XML 文件中获取数据
我正在应用 XML 交叉应用以通过使用存储过程从具有多个节点的 XML 项目文件中提取数据。
存储过程如下
而不是只得到一行数据,我得到的是交叉乘法行,如下所示
很抱歉发布这样的结果正确的行以粗体突出显示,但为什么我得到所有其他行?
XML 文件链接: XML 文件
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