问题标签 [nested-queries]

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 投票
6 回答
7063 浏览

sql - 在 sql 连接或嵌套查询中使用别名总是一种好习惯吗?

使用 - 始终是最佳实践吗?

代替 -

除了可读性减少查询长度之外,使用别名还有什么好处?当我咨询我们的数据库专家时,他说如果有时没有别名,查询可能会中断......我不完全理解......如果有人能分享他们的想法以及应该遵循的最佳实践,我将不胜感激...... 。非常感谢。

0 投票
2 回答
213 浏览

mysql - 嵌套 SQL 查询

我有以下表格:

俱乐部:Club_ID | 标题 | 创建日期 | ...

Club_Intesect:用户 ID | 俱乐部_ID | 使用权

我正在尝试选择可变数量的俱乐部,并加入该俱乐部中具有最高访问权限的用户的 ID。此人被视为所有者。

因此,如果俱乐部 100 的成员 A、B、C 分别具有访问权限 3、4 和 5:我希望从俱乐部中选择最终查询:

0 投票
2 回答
99 浏览

database - 围绕对发票总额抛出“SQL 中不支持的翻译”的嵌套查询进行设计

我有一张发票表。我的服务层知道如何计算一张发票Total的发票,但如果我想按 过滤一组发票Total,LINQ 查询将失败,因为“SQL 中不支持翻译”。发生这种情况是因为无法对每个发票记录执行嵌套查询。解决它的正确方法是什么?

每张发票都是通过对涉及折扣Total的表中计算的行总计求和来确定的,字面意思是:InvoiceLines

我不想在我的数据库中复制已经在我的服务层中的业务逻辑,这涉及对影响发票总额的行项目进行折扣。Total但是除了将发票缓存在可以直接过滤的数据库列中之外,我没有看到任何其他方法。

发票是不可变的,因此不会导致任何数据完整性问题,但我讨厌重复数据。我可以使用视图来显示发票总额,但是我的存储库正在执行服务层功能。

0 投票
2 回答
657 浏览

sql - 帮助将 SQL 嵌套子查询转换为连接查询以兼容 mysql 4.0

我有一个嵌套的 SQL 查询:

我的网络服务器运行不允许嵌套查询的 MySQL 4.0。一些 SQL 大师可以使用 JOIN 术语建议相同的查询吗?我试了又试……但我想不通。感觉很笨。

0 投票
2 回答
231 浏览

sql - 在不执行嵌套 SELECT 的情况下读取连接中的最新值

为了消除尽可能多的嵌套查询,我正在尝试优化以下查询:

抱歉,如果您发现任何错误...我尝试将此查询缩减为仅相关部分,我可能在此过程中的某个地方犯了错误

所以基本上,我们这里有一个论坛帖子表和一个对这些帖子的评论回复表。每个论坛帖子可以有多个回复。第一个join用于统计回复总数,第二个join用于获取最新回复的信息。我从这个查询中得到的是这样的:

示例嵌套查询结果

所以,我基本上是想弄清楚如何在不必求助于这个嵌套查询的情况下做到这一点。你们可以提供的任何帮助都将非常有用。

谢谢!

编辑:我已经稍微调整了查询​​,以反映我不仅需要撤回latest_activity_time,而且还需要撤回latest_activity_user_id. 对困惑感到抱歉!

0 投票
1 回答
141 浏览

sql - SQL 按问题分组

我必须写一个查询到数据库,它有这样的表:

历史表包含用户对项目的所有操作的记录。我必须编写一个查询,从 HISTORY 表中获取不在所有者手中的所有项目。因此,它应该为每个项目获取最后一条记录,并仅从它们中选择那些在其所有者之外持有的那些。

我尝试使用嵌套查询来编写它,但是如果我使用这样的子查询:

我无法获取此记录的 ID。所以,我不能遍历嵌套查询结果,因为我不知道他们的 ID 的 ID。

你可以帮帮我吗?

PS你能告诉我未来,如何从带有group by子句的查询中获取那些不在group by语句中的列吗?

0 投票
2 回答
255 浏览

mysql - 使用 2 个条件从表中删除不需要的行

我有一个多对多关系表,我需要删除不需要的行。该lastviews表的结构是:

此表记录查看文档的最后用户。(用户,文档)是唯一的。我只显示文档的最后 10 个视图,直到现在我删除了不需要的,如下所示:

但是,现在我还需要显示用户查看的最后 5 个文档。这意味着我不能再使用以前的查询删除行,因为它可能会删除我需要的信息(比如用户在 5 分钟内没有查看文档并且行被删除)

综上所述,我需要删除所有不在这两个查询结果中的记录:

我需要逻辑。

0 投票
2 回答
272 浏览

sql - 如何从 tableA 中选择 tableB 中的分组数字总和高于它们在 Oracle 中的总和?

我有这样的数据:

我需要选择 tableA ID,其中 tableB 中的 NUM 总和高于所有 tableA ID 总和的平均值。换句话说:

SELECT 必须只显示 ID 1 和 2,因为 37 > 35、45 > 35 但 25 < 35。

这是我当前运行良好的查询:

但我有一种感觉,如果没有所有这些嵌套的 SELECT,可能会有更好的方法。也许是 2,但 3 感觉太多了。不过我可能是错的。

例如,为什么我不能做这样简单的事情:

或这个:

0 投票
3 回答
28034 浏览

sql - 如何将第一个查询的输出(有两个值)作为第二个查询的输入?

我得到 2 个名字作为第一个查询的输出.... 例如: paul,peter 现在这应该是第二个查询的输入,它必须显示 paul 和 peter 的电子邮件 ID....

0 投票
1 回答
2649 浏览

mysql - Mysql从嵌套查询中引用派生表

我昨天发布了与此类似的内容,但现在我想要一些与我的查询有所不同的内容-

我正在尝试查询数据库以检索一段时间内访问过网站的一次性用户的数量。数据看起来像这样:

我希望查询结果看起来像这样

结果是 2,1,0,1,2,因为在那些日子结束时,有 X 个用户访问过一次。例如,对于第 5 天,在第 5 天结束时,用户 c 和 d 分别只访问过一次。

我想我正在寻找与此类似的查询:

上面的查询和我正在寻找的不同之处在于,我希望这个新查询只考虑每个时间跨度的一次性用户,而不是重复用户。

谢谢