问题标签 [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.
sql - 避免在 SQL 插入中重复预定义的值
我希望插入与一对 id 相关联的几个值,而无需在查询中对这些 id 进行硬编码。
更具体地说,我有这张桌子foo
:
我可以通过执行以下操作插入我的值:
但我不想重复那些10
和20
。
前段时间我问了一个类似的问题(SQL - Using WITH to declare variable on INSERT INTO),但它并没有解决我的问题。我也无法理解如何使用INSERT repeating values in SQL中建议的连接或类似方法,因为我想为每个 id 添加的值列表是任意的。
虽然不是严格需要,但我想使用一个with
语句来首先声明我的 id:
但我不明白如何将它与insert into
语句结合起来。我有这个不工作的查询,但这说明了我想要实现的目标:
我的理解是该values (...), ...
语句返回一个表,所以也许我缺少的是一种将这个表与c
表结合起来的方法。
arrays - 获取值为 true 的 postgresql 表中 jsonb 对象的所有键
我有一个customers
带有name
和features
列的 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
。
任何帮助,将不胜感激。
sql - Oracle:根据变量和历史表获取价格
我有一个表“变量”和一个表“variables_history”,如下
历史记录由触发器生成,如下所示。
我还有一张桌子,上面有所有的维护
我需要根据 maintenance_date 和 variables_updated_at 或 variables_hist_updated_at 的变量生成带有 maintenance_price 的输出
像这样
这个查询只是一个例子,我知道它错了
我需要这样的输出(并考虑变量可能有新的更新)。“variable_value”需要是生成维护时的值。
sql - SQL获取过去每个日期的最新值
我有一张桌子叫event_user_fav_color_changed
. 表中的每一行代表用户更改他们喜欢的颜色的事件。对于特定范围内的每个日期,我想获取每个用户在该日期最喜欢的颜色。
这是一个示例event_user_fav_color_changed
表:
这是一个包含我感兴趣的用户和日期的示例表:
这是所需的输出:
sql - 如何在选择子句中重用子查询?
我希望能够在我的选择中重用子查询,而不必再次全部输入。有没有办法做到这一点?
例如,选择中的第一项是返回 NAME 的子查询。
在第二个选择项中,我想重用“NAME”子查询,而不必再次输入。
我查看了 CTE,但看不到您如何为 where 子句传递参数。在此示例中,我需要从子查询中的主查询访问 T1.ID,但我没有看到使用 CTE 的方法。
sql - 在另一个子查询中使用来自子查询的字段值,其中 PostgreSQL 中的 generate_series
我需要从数据表中选择和 Id,但其中的 Account 等于第一个子查询选择的 Account。那可能吗?我正在使用 generate_series 因为我需要用随机数据填充一个表,我尝试了下面的查询,但我得到了错误:
错误:缺少表“roter”的 FROM 子句条目
sql - 按每组限制分组 (PostgreSQL)
我有以下查询:
该查询向我显示所有报价并通过以下方式订购它们:
- 首先显示较旧的优惠
- 首先显示交易数量较高的报价(两个用户互相交易)
- 用户库存
我还需要将结果限制为最多 3 个product_id
。我做了一些谷歌搜索,发现这应该可以通过使用row_number()
和横向连接的窗口函数来实现。我不想使用row_number()
,因为表格包含很多条目,我很可能会遇到性能问题。我猜横向连接是正确的工具(在这里阅读http://charlesnagy.info/it/postgresql/group-by-limit-per-group-in-postgresql)但我无法以我有限的 SQL 知识得到一个像样的结果.
如何以高效的方式进行分组?
编辑:为了更清楚,我使用窗口函数实现了解决方案:
sql - 是否可以在选择中多次使用动态列?
我有一些复杂的字符串替换,我只被允许只读访问。
我想要几列,每列都依赖于前一列,这样我就可以查看我的substring
和charindex
函数是否正确。
基本上是这样的:
我希望第二列的输出为:
ThisIsOurTest added to the end
这是我想要完成的一个极其简化的版本,所以我正在寻找这个概念。我不需要这个答案:
因为这就是我现在正在做的事情。
sql - 两个选择结果的计算(乘法)
我正在尝试将我从SELECT
唯一查询语句中得到的两个数字相乘。我想获得提供者的数量和提案的数量(我所做的查询显示了这一点),并将两者相乘(我做不到)。
我做了一个非常简单的例子来展示给你(与下面相同的代码):DEMO ON FIDDLE
创建 2 个在 2 个部门工作的提供商:
在 2 个部门创建 4 个提案:
创建部门表:
在这里,我可以按部门显示提供者和提案的数量(真正的查询要复杂得多,所以我想保留 2 个子请求):
但我不能显示这两个数字的计算:
我没有尝试很多,因为我不确定这是否可能......也许我应该使用 UNION ?