问题标签 [in-subquery]

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 回答
915 浏览

sql - Oracle 相关子查询嵌套限制是否有解决方法?

我有一种情况,我正在尝试使用相关子查询,但遇到了 Oracle 中的嵌套限制。我可能错过了 Oracle 的另一个特性,所以我想我会在这里发布这个问题。有谁知道如何在不遇到此嵌套限制的情况下重写以下 SQL,而且还要保持在以下约束范围内?

约束:

  • 只能修改 IN 子句中的 SQL(由于我无法控制的限制)
  • 如图所示,父查询中的过滤需要在聚合发生之前应用于聚合子查询。
  • 应用父过滤器后,在 colB 的聚合上过滤掉 0

下面的代码显示了我在遇到 Oracle 限制之前的尝试。另外,我使用的 Oracle 版本是 11.2.0.2。任何帮助,将不胜感激。谢谢!

以下是运行上述 SQL 时我正在寻找的一些示例输入/输出:

t3.colB 与 t1.colA 在 1 和 2 之间的 SUM 结果:

带有 t1.colA BETWEEN 1 和 2 的 IN 子句的子查询结果:

t1.colA BETWEEN 1 和 2 的顶级查询结果:

在完成了提供的一些答案之后,我有一种方法可以通过一个简单的 CASE 语句来避免 Oracle 中的嵌套限制:

不幸的是,这暴露了真正的问题。因为这是一个子查询,所以我一次只能遍历 t1.colA 范围的一个值。这似乎使得无法在子查询中执行该范围内的分析和。因为我只能修改 IN 子句中的 SQL,所以我看不到这个问题的解决方案。如果有人有任何建议,请告诉我。谢谢。

0 投票
1 回答
1022 浏览

sql-server - 带有空子集的 Tsql IN 子句

是否可以设置一个IN也匹配空子集的语句?

这是我的查询:

#subset如果为空,我也想要该记录。一种解决方法是:

但是 ( SELECT * FROM #subset) 并不是一个如此简单的查询,我想知道是否有一种聪明的方法可以将“IN”也用于空子集。

0 投票
2 回答
13950 浏览

mysql - 通过 IN 条件使用 UNION 子查询的 MySQL DELETE FROM

我遇到了一个奇怪的 SQL 错误。最后一个查询不起作用。当然,我可以将那个 DELETE 拆分为三个查询,但我真的想知道为什么 MySQL 不允许我这样做。

一个小例子:

作品!

也有效!

然而

引发错误

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“UNION (SELECT id FROM lift WHERE building = 123) UNION (SELECT id FROM qrc”附近使用正确的语法

任何人的线索?

0 投票
2 回答
2055 浏览

mysql - 与实际数据的 in 子句相比,查询时间过长的 SQL:in 子句

我有 3 个 SQL 查询:

  1. 从 user_id =4 的用户中选择 student_id;// 返回 35
  2. select * from student where student_id in (35);
  3. select * from student where student_id in (select student_id from user where user_id =4);

前 2 个查询耗时不到 0.5 秒,但第三个查询(类似于第 2 个包含第一个作为子查询的查询)大约需要 8 秒。

我根据需要对表进行了索引,但时间并没有减少。

有人可以给我一个解决方案或为此行为提供一些解释。

谢谢!

0 投票
2 回答
140 浏览

sql - 试图从加入中删除,我知道我有时髦的间距,我知道我有重复的 IMEI

我收到此错误:

消息 512,级别 16,状态 1,第 1 行子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。

BD.ESNsisNVARCHAR(50)IMEIisNVARCHAR(30)我有重复ESNs的,我想删除所有ESNs匹配的SELECT ... IMEI

0 投票
1 回答
327 浏览

mysql - Soundex 与逗号分隔的子查询比较?

我正在对用户表执行 soundex 查询。用户的子查询以逗号分隔的字符串列表形式提供。

我想做类似于以下的事情,但我找不到写语法来完成这项工作。

稍后我计划通过将 soundex 值映射到列 id 的表来优化此查询,但是,我现在不确定当我的子查询是逗号分隔列表时是否可以引用匿名列?如何添加别名,或者如何将此列表转换为 soundex 值列表以进行比较?

0 投票
3 回答
1045 浏览

sql-server - CASE-WHEN 返回子查询时的 TSQL 错误

有没有办法在 IN() 语句中嵌套 CASE-WHEN 语句,以便 WHEN 或 ELSE 之一返回子查询。对我来说,这不应该是一个问题,但不知何故我得到了错误:

“子查询返回超过 1 个值。”

IN()应该处理多个值!

这是一个重现错误的小示例:

0 投票
4 回答
73 浏览

sql - SQL Server 子查询的新手 - 希望是一个简单的

我只是不能在一个查询中解决这个问题。表TblQcProduction有一个生产订单上每个操作员的记录。

我需要找出根据生产订单报告的最后一个操作员是谁。

回报:

我需要输出(通过 prodOrder 返回 MAX IDX 的运算符):

我对分组或子查询不满意——我觉得会有一个非常简单的答案。

0 投票
1 回答
992 浏览

mysql - 在 mysql 查询中多次相同(子)查询

我有一个如下的 mysql 查询。

以下不是确切的查询,而是伪查询

这里 _a_list_of_client_id 是另一个查询,例如 select id_client from client where id_user = {some_id_given_as_parameter}

我只是想知道这是在查询中多次使用相同子查询的正确方法。或者有没有其他方法可以做这样的事情。

在此先感谢 MH Rasel

0 投票
2 回答
3118 浏览

mysql - 使用 IN 子句 MySQL 返回逗号分隔值的子查询结果

朋友,两桌一桌是

我还有另一个表格,其中包含以下详细信息。

我想使用这样的子查询。

此查询不返回零行。但是当我这样使用时,我得到了结果。

我认为子查询返回结果的格式不同。你能指出我犯的错误吗?非常感谢。