问题标签 [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 投票
1 回答
454 浏览

mysql - 使用嵌套查询在 MySQL 中创建排行榜(成员排名列表)

我正在尝试使用下面的两个嵌套查询在我的网站上创建成员排行榜。

第一个查询获取成员列表:

第二个查询嵌套在第一个查询中,并获取成员条目被收藏的次数:

所以我的代码是这样的:

将第二个查询嵌套在第一个查询中会给我正确的成员列表和他们各自收到的票数,但该列表是按第一个(外部)查询而不是第二个(内部)查询排序的。

两个问题:

  1. 如何按favorite_count降序对成员列表进行排序?
  2. 什么是最节省资源的方法?我怀疑嵌套查询不是最好的方法,但老实说我不知道​​更好。
0 投票
2 回答
1207 浏览

mysql - MySQL 替代使用两个嵌套查询

我正在尝试了解 MYSQL 联接,但无法弄清楚这一点。我想获取 table1 中 userID 与给定用户有关系的所有行。

table2 包含用户关系,因此 userID 可以在 iduser1 字段或 iduser2 字段中我有以下查询,它给了我正确的结果:

有人告诉我,MySQL 中的嵌套查询在性能方面名声不佳,我确信我可能会以某种方式使用 JOINS 执行相同的查询,但我无法弄清楚,特别是因为 table1.x 有一个 OR 语句。 iduser 可以在 table2.iduser1 或 table2.iduser2 中

我怎样才能加入同一张桌子两次?

0 投票
1 回答
64 浏览

mysql - 使查询更高效

我想要的是一个事件的参与者(具有参与者角色的人),结合与参与者相同公司的人,但他们的角色是经理。

Person 的角色存储在 person_role_membership 中,但一个人的公司存储在 People 中。我制作了以下查询,我认为它做得很好。请忽略额外的连接和信息。我正在获取所有参与者,然后与所有经理联合,为此我再次获取所有参与者。现在麻烦的是整个查询,因为一小部分需要 9 秒。有没有办法让它更快?

0 投票
2 回答
77 浏览

mysql - 如何通过从两列mysql中选择来进行1列查询

我有一个消息系统(非常基本),它有一个像这样的表:

RUSER是接收用户,SUSER是发送用户。如果我想输出一个会输出某些用户消息的查询,我目前会这样做:

从 PRIVATE_MESG 中选择 *,其中 RUSER_ID=$USER_ID 或 SUSER_ID=$USER_ID

这会给我与该 USER_ID 关联的所有 message_id。我想要的是创建一个仅生成与RUSER_ID关联的ID或与特定用户关联的SUSER_ID的列。我需要它来选择RUSER_ID 或 SUSER_ID等于USER_ID但只显示不是USER_ID的消息

然后,我想通过该查询的输出进行分组。

任何帮助是极大的赞赏!

谢谢!

更新我并不是真的在寻找 message_id,我只是在寻找该人写信或收到的用户列表。

更新 大家都知道,我完美地收到了这个问题的答案!我稍后对其进行了调整,以便它也可以按日期从最新到最旧显示它们。我通过使用 DATE() 和 TIME() 函数将 DATETIME 拆分为 DATE 和 TIME 来做到这一点。这是我的最后一个查询:

希望这可以帮助下一个人!

0 投票
2 回答
179 浏览

mysql - 嵌套查询和事务

更新#1:查询在左连接行上给了我语法错误(在左连接中独立运行查询可以完美地工作)

原帖:

我在同一张表中跟踪借方和贷方。该表具有以下架构:

作为我的结果,我想看看:

余额:由 (sum(credit) - sum(debits))* 计算 - 时间戳无关紧要
Current_Usage:由 sum(debits) 计算 - 但适用于 JUN 中的借方。

问题:如果我立即按 JUN 时间戳过滤,它不会计算所有时间的余额,而只会计算 6 月份任何交易的余额。

如何按月计算当前使用量,但表中所有交易的余额。我一切正常,除了它只将 JUN 结果过滤到我的代码中的当前使用计算中:

0 投票
3 回答
2115 浏览

linq - Linq 嵌套内连接

我想加入以下表格

首先加入 B_Book 和 BI_BookInstance,然后将它们的结果加入 BookCategory。(第一次连接)[B_BID 等于 BI_BID] (第二次嵌套连接)[第一次连接 B_CategoryID 的结果等于 BC_CategoryID]

编辑

SQL 将类似于以下内容:

0 投票
2 回答
133 浏览

php - 我需要在另一个中使用一个 mySQL 查询的输出(它的值)

我无法将一个查询的输出用作另一个查询的值。问题是我需要使用以下查询获取一种产品的价格(已成功完成):

$PID 是一个 PHP 变量,这个查询工作得很好。当我想从买家的余额中减去产品的价格时,问题就来了。我尝试使用以下查询来做到这一点:

$cena 是一个 PHP 变量,它的值是第一个查询。

第二个查询根本不起作用,它不会返回错误消息,但不会改变买家的余额。


如果有人需要的话,一本简短的字典: Cena - Price; Proizvod - Product; Kupuvac - Buyer; Saldo - Balance.

提前致谢!

0 投票
1 回答
874 浏览

mysql - 从表中获取 ID 列表,其中 Group Concat 作为变量用于 IN 子句

我有一张桌子locations和一张桌子stockLevels。我正在处理一个复杂的查询,以一次性告诉我哪些物品已经存货很长时间,它们在哪个位置以及其他一些东西。

部分原因是给我不准确的结果。

这是整个查询的一个片段,内部SELECT独立工作,但它没有将 ID 列表应用到 IN 子句中,似乎只是读取了第一个。

所以,解释得更清楚。

内部SELECT

将逗号分隔的列表值作为名为 的列返回idList,该值是1,2,10,11

此查询有效。

如果我在原始查询中手动使用逗号分隔列表,它也可以工作,即:

此代码不会产生任何错误,但它产生的结果就是这个查询的结果:

因此,我没有将由内部查询生成的逗号分隔列表注入到外部查询的 IN 子句中。

谁能告诉我为什么?

0 投票
1 回答
107 浏览

mysql - SQL 嵌套查询解释为相关不正确

我有一个嵌套查询的严重问题,我怀疑 MySQL 将其解释为相关子查询,而实际上它应该是不相关的。该查询跨越两个表,一个是产品列表,另一个是它们在不同时间点的价格。我的目标是返回价格范围始终高于某个值的产品的每条价格记录。我的查询如下所示:

单独来看,内部查询执行良好,并返回价格范围高于标准的产品的 id 列表。如果我在 IN 子句中提供一个简单的 id 列表,外部查询也可以正常工作。但是,当我将它们一起运行时,查询需要约 3 分钟才能返回约 1500 行,因此我认为它正在为外部的每一行执行内部查询,这并不理想。我确实在内部和外部查询中的列别名相同,所以我认为如上所述在内部和外部对它们进行不同的别名可以解决它,但事实并非如此。

关于这里发生了什么的任何想法?

0 投票
4 回答
99438 浏览

sql-server - 多 SELECT SQL 语句

写我的第一个嵌套SELECT语句,我希望有人能帮助我。

我需要从桌子上抓起CompanyCodeand 。但是,我只需要在另一个表的查询中显示的那些。行之间的公共链接将是列(基本上我需要从包含与嵌套查询中出现的相同的行中获取和)。AgentIdUniqueAgentIdtoUniqueAgentIdUniqueAgentIdCompanyCodeAgentIdUniqueAgentId

当我写出这个查询时,我得到了非常有用的信息

')' 附近的语法不正确

询问:

编辑非常感谢您的回复。使用下面的每个查询,但我不断收到相同的错误消息:无效的对象名称“UniqueAgentIdToUniqueAgentId”。这对我来说很奇怪,因为这是 SQL Management Studio 可以看到的数据库上的实际表。

第二次编辑结果证明这只是一个拼写错误。新错误是“varchar 值 '3030111101' 的转换溢出了一个 int 列。” 不太清楚这意味着什么......

最终编辑我试图将一个字符与一个它进行比较,这导致了这个错误。再次感谢所有的帮助!