问题标签 [inner-query]

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

sql-server - 加入具有相同执行计划的查询

我对同一任务有两个查询

一:

我检查了两个查询的执行计划。两个执行计划是相同的。但我怀疑,这两个查询有什么区别吗?如果是,哪个更有效?

0 投票
1 回答
127 浏览

sql-server-2008 - 相同的执行计划是否意味着相同的性能?

我对同一任务有两个查询

一:

我检查了两个查询的执行计划。两个执行计划是相同的。但我怀疑,这两个查询有什么区别吗?如果是,哪个更有效?

0 投票
1 回答
45 浏览

mysql - 内部查询以匹配来自另一个表的“LIKE”结果

我有一个数据表如下:

过滤器表

姓氏表

我正在尝试编写一个内部查询以从表中检索surnames匹配过滤器的计数filter

以下是我基于单独的选择语句的内容

  1. select * from filter
  2. select count(*) from surnames where last_name like 'Aabe%' or last_name like 'Aaby%' group by last_name;

由于记录数很大,如何为此条件编写内部查询?

0 投票
3 回答
1075 浏览

mysql - 在mysql中使用基于条件的子查询输出

下面是我的查询:

select c1, c2, c3, c4, c5 from table1 where c1 =0 //Condition 1
AND c2="abc" //Condition 2
AND c3="xxx" //Condition 3
AND c4 = 5 / /Condition 4

在这里,我们知道条件 2 将应用于条件 1 给出的结果数据,条件 3 将应用于条件 2 和 1 给出的结果数据,类似地,条件 4 将应用于......

如果两者之间的任何条件失败,我想要查询将进一步执行。

意味着如果条件 3不会给出结果(或空结果集),那么我的条件 4将应用于空结果集,因此最终输出将为空,但我希望条件 3不会给出结果(或空结果集)然后条件 4 “应该应用”到条件 2 和 1返回的结果集。

由于性能问题,在这里我无法更改条件顺序。

请指导我查询。

0 投票
0 回答
267 浏览

solr - 使用外部查询值过滤 solr 内部查询

在 SOLR 中,是否有一种在内部查询中使用外部查询值的方法。

基本上我想做的是比较两个文件

我已经进行了 SQL 等效查询。但不知道如何在 SOLR 中实现

结果,我将获得在给定时间范围内实际发生变化的所有版本

0 投票
1 回答
118 浏览

sql - SQL (ORACLE):具有 2 个或更多相关/配对容器查询“指针”的内部查询

对于所有那些“天哪!他正在使用图像:O:O:O”的人(原始帖子在此之下):

我有一张桌子:

输入如下:

需要一个查询(非 PL、非条件、变量或游标......),它为每个日期和它自己的每个 ID、日期的行和带有特定于它的 VALUE 的 ID 带来。如果日期没有其特定 ID 的值,则必须找到最接近的日期。

IE:

结果:

第二个结果行的日期不同,因为没有找到日期 06/03/2016 和 ID=6 的记录。这就是为什么会带来最接近的匹配日期。哦!,最接近的意思是,之前。不是在日期之后。因此,如果日期不匹配,则指定日期相同或最接近的日期。

我可以为输入的每一行创建一个查询,最后从所有人中创建一个 UNION。但这不是解决问题的优雅方法。并且在每个循环打开 PHP 时抛出查询也不是一种选择。




原线:

早上好,首先,请原谅我的英语,因为我来自西班牙。

说了这么多,最后我会尽量把这个问题简明扼要,但首先,让我暴露环境:

  • 我有一个典型的日期/数据类型/值表。

在此处输入图像描述

  • 我在视觉上用日期更改块的红线划分。蓝色箭头标记“数据类型”ID(来自另一个表)列和另一个蓝色箭头,即与这些值相关联的日期。因此,您拥有具有不同类型 ID 的日期块,对于每个人,您都会获得一个更改值 (CAMBIO):绿色箭头。

现在,¿我能做什么?为我提供某个特定日期的 CAMBIO 值的查询:

在此处输入图像描述

注意:GRUPO 是表中存在的另一列,我总是需要来自这个 grupo 类型的值 1。这是必要的。

下一步是,对于指定的 DATE,表记录上可能不存在值。所以我必须找到最接近的。

我可以做这样的查询:

在此处输入图像描述

您可以在第一张图片上看到没有 3 月 6 日或 3 月 5 日的记录,因此通过此查询,我可以找到最接近的现有值,在本例中为相同的 3 月 4 日。

这些查询的问题是,我需要将 DIVISA_C 列指定为特定值,比如 5 和 10。然后我会仔细检查:

在此处输入图像描述

这对结果中现有的 DIVISA_C id 很有效,但如果我需要一个不包含在“日期块”中的 ID(即:2016-03-04),比如说 6,那么我没有得到任何结果这个DIVISA_C id,我需要有一个结果,具体来说,这是我之前展示的最接近它的日期。

如果我做:

在此处输入图像描述

这 6 个 ID 什么都没有。与上次查询的结果相同。在这种情况下,我也知道如何解决这个问题:

在此处输入图像描述

你看,我在 WHERE 上添加了一个“指针”,从内部查询到 self DIVISA_C id,它基本上指向来自 ourtsider/container 查询的 DIVISA_C。这导致对于内部查询中的指定 DATE,对于容器查询“IN 列表”中的每个 ID,都会按预期带来最可能的关联行。因此,如果内部查询可以解析指定 DIVISA_C id 的指定日期,它会带来记录。否则,为 DIVISA_C id 值带来最接近的日期。这正是我所需要的。

注意:我在内部查询中添加了一些额外的过滤器,以与外部/容器查询保持一致。根本不是要考虑的问题或变化。

现在,解释说,真正的问题来了:

- 现在我有一个日期列表,对于这些日期中的每一个,都有一个 DIVISA_C id 列表。我需要做一个查询,没有 PL-SQL(所以没有 FOR,没有 IF,没有 CURSORS 等),只是一个 SELECT 组合,这给我带来了预期的结果,这基本上是最后一个我已经向您展示了结果,但是很多日期都带有相关的 DIVISA_C ids 列表。

举个例子,我展示的最后一个查询可以解释为:

在这种情况下,这给我带来了 3 行每个 ID 的近似日期,因为 3 月 6 日没有任何 DIVISA_C id 的记录。

现在我有一个完整的输入列表,只需一个查询即可解决,即:

当然,我可以在每个 PHP 循环轮次上针对输入列表的行数进行一次查询。

或者我可以使用列表中的输入行创建每个查询,并将所有这些行合并,以创建一个庞大的长字符串查询,它将准确地给我我需要的结果,但这不是一个选项。 我需要用一种更优雅的方式来解决它,在这里我被困住了...... :(

我虽然有这样的事情:

在此处输入图像描述

您会看到,外部 WHERE 上的某种“链接”数据包导致内部查询为每个关联日期解析 DIVISA_C IN 列表中的所有行,并且在内部查询中,DATE 也是一个指针......但是正如您可以想象的那样,这是行不通的,因为内部查询通过FECHA =(子查询...)链接在where中,并且在此之后我编写的数据包没有意义...

我曾想过在对同一个表的外部查询上创建一个 INNER JOIN,因此表自身以某种方式具有 2 个指针并将它们组合起来以适应这种情况......但我不知道如何正确地做到这一点.. .

你能给我解释一下吗?

谢谢大家,很抱歉这么长的帖子!但我认为通过图像来解释它会更舒服。

问候,

标记。

0 投票
1 回答
180 浏览

sql-server-2012 - SQLServer 从表中删除,列表来自另一个表

我有一个 DELETE,需要在 WHERE 子句中使用 AND 来选择行。WHERE 中的一个值实际上是一堆 id。我可以通过编程来获取用户 ID 列表,然后使用该列表进行循环。

我希望从每个 GroupUserId 的 VariableTransaction 中删除

应该有一种方法可以将这些组合成一个 SQL 语句,但查看所有示例我无法找出解决方案,AND 的位置使其复杂化。

0 投票
1 回答
1506 浏览

sql - 如何在内部查询中使用来自 listagg 的逗号分隔值?

考虑查询

这给了我输出

如何在内部查询中使用它考虑以下示例:

预期结果 :

但实际结果不会返回任何行,因为它将子查询视为单个字段。

如何处理?

0 投票
0 回答
32 浏览

sql - Oracle - 内联查询为我的代码提供了缺少右括号的错误

在 oracle 中执行以下内联查询时出现右括号错误:

对此的任何帮助/建议将不胜感激。提前致谢。

0 投票
2 回答
84 浏览

sql - 内部查询问题

我对内部查询有疑问

架构:

  • DEPARTMENT( deptnum , 描述, instname, deptname, state, postcode)
  • ACADEMICacnum、deptnum*、famname、givenname、首字母、头衔)
  • PAPER全景,标题)
  • AUTHOR( panum , acnum **)
  • FIELD字段编号,ID,标题)
  • INTEREST( fieldnum , acnum **, 描述)

我有这种格式的输出:

但是,除了外部查询的 select 语句中的字段外,我还希望结果集中的count(*)as no_of_papers

我已经打破了我的头很长一段时间了。