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

sql - 在 SQL 中仅保存唯一的数据点

为简单起见:我们有一个有 2 列的表,value并且date.

每秒都会收到一个新数据,我们想用它的时间戳保存它。由于数据可以相似,为了降低使用率,如果数据与之前的条目相同,我们不保存它。

问题:鉴于在 24 小时内收到相同的值,只保存第一个value&date对。如果我们想查询“过去 1 小时的平均值”,有没有办法让数据库(PostgreSQL)看到过去一小时没有保存任何值并搜索最后一个现有值条目?

0 投票
1 回答
30 浏览

sql - 检索评论的回复数

我有以下 PostgreSQL 表来存储不同帖子的评论:

评论表:

commentID | parentID | postID | content | author | created

我现在想用一个查询来检索,给定一个 postID,对帖子的所有评论以及每个评论的回复数。如果 parentID 不为 null 并且等于其父项的 commentID,则评论是回复。

我尝试了类似以下的方法,我自己加入表格并查找匹配项,parentID = commentID但我无法使其正常工作,希望得到一些帮助:)

0 投票
1 回答
50 浏览

sql - 用于循环记录的 SQL 查询

我有一张包含一百万条记录的表。这是带有一些示例数据点的表格结构 -

我需要编写一个会产生此输出的查询 -

给出患者 322 的第二个声明的原因20181008是因为第一个和第二个具有相同的cd值。

患者 322 的第三次索赔也被赋予了20181008价值,即使它没有相同的cd价值,因为它是患者的最后一次索赔。

患者 122 的第一个声明仍然为 NULL 的原因是该声明的cd值不等于 42。

患者 122 的第三次索赔20190102即使具有相同的cd值也没有被赋予值的原因是因为他们先前索赔中的 thru_dt 相隔超过 30 天。

这是我迄今为止尝试过的 -

0 投票
2 回答
59 浏览

sql - SQL 使用特定输入查找对应的列并创建新的汇总表

数据是一个平面标准化表:

什么:

使用所选产品 (ABCDEDFHIJKL),查看各行以找到具有与所选产品相关的数据的列的相应位置。

期望的输出:

在 R 中做到这一点是直截了当的,我敢肯定,对于比我更懂 SQL 的人来说,这很容易

0 投票
2 回答
46 浏览

sql - 如何在Postgresql中将表的每一行扩展为可变数量的行

我有一个表,它定义了具有给定迭代次数的对象,假设这是一个轮数可变的游戏。

我想创建一个选择语句,它将为每场比赛生成一个每轮一行的表格。

0 投票
2 回答
31 浏览

sql - 如何将查询转换为使用联接?

我想编写一个查询,该查询使用“加入概念”来为每个订单返回自同一客户的上一个订单以来经过的天数。

我正在使用AdventureWorks2017数据库,表Sales.SalesOrderHeader

我尝试了以下代码,但我实际上希望它通过连接概念:

0 投票
2 回答
38 浏览

sql - PostgreSQL中是否有一个函数可以计算列之间的字符串匹配(按行)

我想根据几个条件覆盖一个数字。

预期覆盖:
如果一个字符串(在我使用的示例中只是一个字母)在 3 列中出现至少 2 次并且数字列超过某个数字,则覆盖数值 如果另一个字符串在 3 列中出现至少 2次数值列多于某个其他数值,覆盖数值,否则保持数值不变。

我首先想到的方法有效,但前提是表格只有一行。这可以以某种方式扩展,以便它可以在更多行上工作吗?如果我的方法是错误的,请您指导我正确的方法吗?

请参阅SQL Fiddle

非常感谢任何帮助!

如果字母asection_1,section_2,section_3number >= 3中重复至少 2次,则用3 覆盖number或者如果字母b在section_1,section_2,section_3number >= 8中重复至少2次,则写8,否则留下编号不变

在此处输入图像描述

预期结果:
id 号
1 3
2 8
3 4

0 投票
3 回答
55 浏览

sql - 在 sql 中创建更多行的逻辑

我有一个 table1,我想将其转换为预期的表格。

  • 列的预期表逻辑:
  • cal:来自table1的cal。ID 来自 table1 的 ID。
  • 代码:这取决于我们在 f_a 中是否有一个值,然后我们用 fp 作为代码创建一个新记录。与它相对应,我们检查是否填充了 f_a,如果是,则我们从 f_a 中获取该日期并放入同一 ID 的 Al 列中。我们还检查是否填充了 f_pl,如果是,则我们从中获取日期并将其放在 pl 列中。
  • 如果代码是 lp,那么我们检查是否填充了 l_a,然后我们取该日期并将该日期放在 Al 中,以获取该代码和 Id。此外,我们检查是否填充了 lpl,如果是,则我们取该日期并将其放入 pl。

我只是 SQL 的初学者,所以对于如何开始它对我来说有点不知所措。请发布一些解决方案。

表格1:

预期输出:

更新:我在表中有更多的 ID,所以不是 CNT 是唯一的 ID。如果我使用 unpivot,那么它应该对所有 ID 遵循相同的逻辑。

0 投票
2 回答
299 浏览

sql - SELECT 子查询值的 SQL 条件

我想对我的选择子查询应用条件检查。我怎样才能做到最好?

这是初始查询:

我想添加 WHERE 条件subResult = :parameter。并且:parameter是可选的,意思是如果:parameter为空,则在结果中包含行。

但是我无法subResult在 WHERE 条件中引用子查询的结果。

我可以将子查询复制/粘贴到 WHERE 子句中,但这似乎很草率且容易出错:

0 投票
3 回答
563 浏览

sql - 将列名更改为单列值的 SQL 查询

我正在使用 SQL Server。不知道是什么版本,但它仍然受支持。我有一个表,其中包含我感兴趣的 3 列。我需要更改“硬件”列中的列名以及每个列的计数。现在我有以下内容:

在此处输入图像描述

相反,我需要类似的东西:

在此处输入图像描述

这可能吗?