问题标签 [lateral-join]

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 投票
2 回答
70 浏览

sql - 避免在 SQL 插入中重复预定义的值

我希望插入与一对 id 相关联的几个值,而无需在查询中对这些 id 进行硬编码。
更具体地说,我有这张桌子foo

我可以通过执行以下操作插入我的值:

但我不想重复那些1020

前段时间我问了一个类似的问题(SQL - Using WITH to declare variable on INSERT INTO),但它并没有解决我的问题。我也无法理解如何使用INSERT repeating values in SQL中建议的连接或类似方法,因为我想为每个 id 添加的值列表是任意的。


虽然不是严格需要,但我想使用一个with语句来首先声明我的 id:

但我不明白如何将它与insert into语句结合起来。我有这个不工作的查询,但这说明了我想要实现的目标:


我的理解是该values (...), ...语句返回一个表,所以也许我缺少的是一种将这个表与c表结合起来的方法。

0 投票
2 回答
1026 浏览

arrays - 获取值为 true 的 postgresql 表中 jsonb 对象的所有键

我有一个customers带有namefeatures列的 postgresql 表。

features包含 jsonb 对象,例如{"featureA": true, "featureB": false, "featureC":true}

我想得到的是这些键的数组,features其中每个键的值都为真name,例如:

这篇文章中,我了解到

是你如何获得真实的钥匙,但我该如何为我的桌子做到这一点customers

就像是

返回SQL Error [21000]: ERROR: more than one row returned by a subquery used as an expression

任何帮助,将不胜感激。

0 投票
2 回答
126 浏览

sql - Oracle:根据变量和历史表获取价格

我有一个表“变量”和一个表“variables_history”,如下

历史记录由触发器生成,如下所示。

我还有一张桌子,上面有所有的维护

我需要根据 maintenance_date 和 variables_updated_at 或 variables_hist_updated_at 的变量生成带有 maintenance_price 的输出

像这样

这个查询只是一个例子,我知道它错了

我需要这样的输出(并考虑变量可能有新的更新)。“variable_value”需要是生成维护时的值。

0 投票
4 回答
149 浏览

sql - SQL获取过去每个日期的最新值

我有一张桌子叫event_user_fav_color_changed. 表中的每一行代表用户更改他们喜欢的颜色的事件。对于特定范围内的每个日期,我想获取每个用户在该日期最喜欢的颜色。

这是一个示例event_user_fav_color_changed表:

这是一个包含我感兴趣的用户和日期的示例表:

这是所需的输出:

0 投票
2 回答
87 浏览

sql - 如何在选择子句中重用子查询?

我希望能够在我的选择中重用子查询,而不必再次全部输入。有没有办法做到这一点?

例如,选择中的第一项是返回 NAME 的子查询。

在第二个选择项中,我想重用“NAME”子查询,而不必再次输入。

我查看了 CTE,但看不到您如何为 where 子句传递参数。在此示例中,我需要从子查询中的主查询访问 T1.ID,但我没有看到使用 CTE 的方法。

0 投票
1 回答
82 浏览

sql - 在另一个子查询中使用来自子查询的字段值,其中 PostgreSQL 中的 generate_series

我需要从数据表中选择和 Id,但其中的 Account 等于第一个子查询选择的 Account。那可能吗?我正在使用 generate_series 因为我需要用随机数据填充一个表,我尝试了下面的查询,但我得到了错误:

错误:缺少表“roter”的 FROM 子句条目

0 投票
1 回答
85 浏览

sql - 按每组限制分组 (PostgreSQL)

我有以下查询:

该查询向我显示所有报价并通过以下方式订购它们:

  • 首先显示较旧的优惠
  • 首先显示交易数量较高的报价(两个用户互相交易)
  • 用户库存

我还需要将结果限制为最多 3 个product_id。我做了一些谷歌搜索,发现这应该可以通过使用row_number()和横向连接的窗口函数来实现。我不想使用row_number(),因为表格包含很多条目,我很可能会遇到性能问题。我猜横向连接是正确的工具(在这里阅读http://charlesnagy.info/it/postgresql/group-by-limit-per-group-in-postgresql)但我无法以我有限的 SQL 知识得到一个像样的结果.

如何以高效的方式进行分组?

编辑:为了更清楚,我使用窗口函数实现了解决方案:

0 投票
1 回答
41 浏览

sql - 是否可以在选择中多次使用动态列?

我有一些复杂的字符串替换,我只被允许只读访问。

我想要几列,每列都依赖于前一列,这样我就可以查看我的substringcharindex函数是否正确。

基本上是这样的:

我希望第二列的输出为:

ThisIsOurTest added to the end

这是我想要完成的一个极其简化的版本,所以我正在寻找这个概念。我不需要这个答案:

因为这就是我现在正在做的事情。

0 投票
1 回答
44 浏览

sql - 两个选择结果的计算(乘法)

我正在尝试将我从SELECT唯一查询语句中得到的两个数字相乘。我想获得提供者的数量和提案的数量(我所做的查询显示了这一点),并将两者相乘(我做不到)。

我做了一个非常简单的例子来展示给你(与下面相同的代码):DEMO ON FIDDLE

创建 2 个在 2 个部门工作的提供商:

在 2 个部门创建 4 个提案:

创建部门表:

在这里,我可以按部门显示提供者和提案的数量(真正的查询要复杂得多,所以我想保留 2 个子请求):

但我不能显示这两个数字的计算:

我没有尝试很多,因为我不确定这是否可能......也许我应该使用 UNION ?

0 投票
2 回答
228 浏览

sql - 在类型转换中需要有关 SQL Server 中执行计划的帮助

我在执行计划中收到以下警告。请一些人提供有关如何解决此错误的建议。

表达式中的类型转换 (CONVERT(int,STRING_SPLIT.[value],0)) 可能会影响查询计划选择中的“CardinalityEstimate”

在此处输入图像描述

上面的警告见于下面的 SQL 语句

#tblWorkQueueDocuemnt :创建表的语句。创建表#tblWorkQueueDocuemnt(GroupID INT,TotalCount INT)