问题标签 [lateral]
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.
regex - 如何通过正则表达式作为循环变量循环文件内的一行
我正在尝试为 json 文件制作类似 Explode 函数的东西。循环应该逐行获取一个 json 文件,并且在每一行中我有多个值,我想从该行中提取并将其与主行放在一起(如 SQL 中的横向视图或 Explode 函数)
数据看起来像这样
现在我想要的是 SQL 爆炸这个
我总是得到一个错误,我无法将 str 作为组,但是当我将正则表达式放在下一个 for 循环中时,它只会让我得到第一个结果并且什么都不做,或者以另一种方式它只需要相同的结果并写入它经常在行中找到一个字符。
sql - 升级到 PostgreSQL 11:CASE 中不允许使用 set-returning 函数
从 PostgreSQL 9.6 升级到 11 时,以下查询停止工作:
union
像往常一样将两个值列表放在一起,两个列表可以有零个、一个或多个元素。
第一个select
可以返回零,一个或多个只是因为那是users
表中的内容。
第二个select
总是从表中扫描一行documents
,但根据决定返回零、一或多行case
。
PostgreSQL 9.6 按预期工作,PostgreSQL 11 说:
我很欣赏这个建议,但我不知道如何在LATERAL FROM
这里使用 a 。
json - 通过 Snowflake 中的目标表替代 JSON 展平
每个雪花:https : //docs.snowflake.net/manuals/user-guide/json-basics-tutorial-copy-into.html 我创建了一个目标表(Testing_JSON),这是一个包含上传 JSON 的单个 Variant 列文件。
我的问题是如何创建这个“目标表(即 Testing_JSON)”,它是一个单一的变体列,我必须引用它来创建我想要的实际且唯一的表(TABLE1),其中包含扁平化的 JSON。我发现无法从我的桌面读取 JSON 文件并“动态解析”以通过 UI 创建一个扁平表。不使用 CLI,因为我知道这可以使用 PUT/COPY INTO 来完成
sql - 制作有效的横向连接(或替代方法)
语境
我正在玩 PostgreSQL 的lateral
加入,特别是在 group by/limit 上执行加入。
当我查找单个记录时,查询工作得非常好,但是当我们查询多条记录时,性能很快就会下降。这是有道理的,因为我们有多个子查询运行单独的收集、过滤聚合、排序。问题是,我们应该看什么 Postgres 策略,或者我们如何重构下面的查询以使其大规模执行?
询问
我们有三个主表,其中两个之间有一个联结表:
|经理| >- |专卖店| >- |店铺_产品| -< 产品
我们有给定商店记录的所有历史经理,我们有商店的完整产品目录(产品可能由多个商店携带)。
目标:给定一个Store ID,查询最近的Manager和最近售出的Product。
这是从 Store 到 Manager 和 Product 的内部连接。Manager & Product 必须按日期 desc 排序并限制为 1(至少我相信这是获取最新信息的方式)。
当您查询单个商店时,这非常有效。但是,如果您尝试批量查询(例如WHERE store.name in [...]
),查询会变得非常缓慢并且会很快消耗内存。
问题
有没有更好的方法来查询可以很好扩展的数据?
谢谢!
注意:给出的商店/产品示例只是一个传达问题的设备。实际的架构是不同的 - 所以我要求不要过多考虑这是否是规范化架构的最佳方式!谢谢 !
postgresql - 在 Postgres 11.6 中从循环开始时选择事件
使用 Postgres 11.6,我正在尝试编写一个查询,在分组期间根据事件在序列中的位置过滤掉事件。我们有很多按“周期”分组的事件数据。这是表设置:
这是表设置:
以下是来自三个不同周期的一些示例记录:
实际上,循环包括更多步骤,我只包含了足够的示例。这里的目标是过滤掉特定周期阶段之后的事件,“等待质量”或“存储”。每个周期都有这些事件中的一个或两个。写成命令式,每个循环的逻辑是这样的:
目标结果仅包括以下行:
一个简单的分组查询按时间顺序排列循环事件:
我需要找到从每个周期开始到并包括“存储”或“等待质量”的事件,如果两者都存在,则使用“存储”。
我很难过。我了解如何用客户端语言编写此代码,但不了解 SQL。我更喜欢用 SQL 来做。如果有人能告诉我怎么做,或者给我指出正确的方向,那就太好了。
答案
这是一个最终解决方案,对已接受的答案进行了一些小的语法更改。
json - 雪花横向变平,在 json 中更改键
我在雪花中有一张桌子,结构如下,
我试图得到输出:
有任何想法吗?
snowflake-cloud-data-platform - 具有数组和字典混合的横向展平雪管数据
我有两个不同的结构化 json 文件从雪管中输入。唯一的区别是它有许多嵌套数组,而不是嵌套字典。我试图弄清楚如何将结构 1转换为一个最终表格。我已成功将结构 2转换为表格并包含以下代码。
我知道我需要使用横向展平,但没有成功。
结构 2:嵌套字典 此 json 存在于表和列JSONTEXT中
这是我的第二个有效结构的代码。
这是我尝试过的代码,它仅在您放置 jsontext[Nth] 时才有效。
感谢任何帮助!
join - 使用子查询的 SQLAlchemy ORM 横向连接
我想将 SQL 查询转换为SQLalcheny。这是我的查询。
我创建了两个子查询,即“init_query”和“sub_qry_lateral”,如下所示
但它没有给出正确的答案。它仅输出子查询“init_query”的结果集
任何帮助表示赞赏
join - 来自同一个表的连接代码和描述,用逗号分隔
我有以下数据集
我需要将 color_code 的第一个值连接到 color_code_name 的第一个值,将 color_code 的第二个值连接到 color_code_name 的第二个值等。
我的结果应该如下所示:
我正在使用下面的代码,但它正在交叉连接,因为我没有 id 可以加入。有人可以帮我得到预期的结果吗?