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

sql-server - 使用 outerapply 填充

我的源数据如下

我想知道是否有可能在outer-apply. 我尝试如下,但没有奏效

我之所以热衷于实现内部填充,outer-apply是因为我可以继续利用outer-apply同一个查询中的填充列来成功apply创建进一步的计算列或转换,而无需任何临时表的帮助,如下所示

我想要的结果

姓名 时期 FD
一个 202001 无效的 无效的
一个 202002 100.00 100.00
一个 202003 无效的 100.00
一个 202004 无效的 100.00
一个 202005 600.00 600.00
一个 202006 无效的 600.00
一个 202007 无效的 600.00
一个 202008 无效的 600.00
一个 202009 无效的 600.00
一个 202010 700.00 700.00
一个 202011 无效的 700.00
一个 202012 无效的 700.00
b 202001 无效的 无效的
b 202002 无效的 无效的
b 202003 无效的 无效的
b 202004 500.00 500.00
b 202005 无效的 500.00
b 202006 无效的 500.00
b 202007 600.00 600.00
b 202008 无效的 600.00
b 202009 无效的 600.00
b 202010 无效的 600.00
b 202011 无效的 600.00
b 202012 无效的 600.00

这可以通过遵循但在outer-apply我不想要的之外来实现。

0 投票
2 回答
27 浏览

sql - 如果您的结果返回两个不同的时间,则使用 SQL 获取最新的进入时间,我应该使用交叉应用还是外部应用?

所以我想datediff用于两个我正在加入的表。问题是如果我按唯一值过滤,它会返回两行结果。例如:

它返回两行,因为它被两个不同的工人重新包装了两次。

我想使用该唯一 packageID 的最新重新打包时间,然后在我与另一个表进行连接时使用另一个时间记录进行 datediff。

有没有办法归档以便我可以获得 Repackagetime 的最新时间条目?

0 投票
1 回答
50 浏览

mysql - 使用 .NET Core 嵌套 LINQ 指令从 SQL Server 迁移到 MySQL

在我正在开发的 Web 应用程序中,我在 Windows 环境中使用 .NET Core 3.1 和 SQL Server。

cshtml页面的支持代码中,我创建了一个 LINQ 查询以从数据库的多个表中获取信息。
这是代码片段,就我使用 SQL Server 而言,它运行良好。

为了从开发人员转移到生产环境,作为一个爱好应用程序,我决定将数据库移动到更便宜的 MySQL 数据库,从 SQL Server EF Core 移动(有些头疼)到 MySQL EF Core。

上面的指令,在转换到 MySQL EF Core 包之后(我不知道,但我可以验证是否需要,如果它与 SQL Server EF Core 包相同),生成以下查询:

我无法判断是否有更好、更有效的方法来进行此查询。无论如何,MySQL 似乎不支持该OUTER APPLY指令,因此查询失败生成异常。我发现解决此问题的方法是向数据库发出多个请求,而不是单个 LINQ 查询,这种解决方案似乎很不优雅。

有谁知道如何更好地设计 LINQ 代码以提高效率和可读性,使其与 MySQL 一起使用?

0 投票
1 回答
56 浏览

sql-server - 对 json 使用交叉应用并按大小写排序时,整个表的结果不同

我需要按字典中的值对结果进行排序,该字典以 JSON 形式存储在我的表中,等于一个参数。为了得到它,我在我的订单上使用大小写来检查字典中的值是否与参数匹配。订购表格后,我需要区分结果,但是我遇到了一个错误,我无法弄清楚。

这是我的查询:

0 投票
1 回答
22 浏览

google-bigquery - 我的 Outer Apply 语句中有语法错误,我不明白为什么

这是我的代码

我收到此错误

语法错误:预期输入结束,但在 [8:1] 处获得关键字 OUTER

我不明白为什么

0 投票
1 回答
29 浏览

sql - 我试图将 DISTINCT 和 ORDER BY DESC 与 OUTER APPLY(2 个表)一起使用,无法获得 DESC 订单

我正在使用以下查询,并且我设法获得按Id ASC 排序的结果(来自 Table2),但是我想获得按Id(table2)DESC 排序的结果。

表格1:

ID 顾客号码 姓名
1023 000001 名称1 姓1
1024 000002 名称2 姓2

表 2:

ID 顾客号码 发票编号 发票月
14435 001394 98412018 9-2018
14436 002061 98422018 9-2018

SQL 中的结果