问题标签 [sql-subselect]

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

sql-server - 如何遍历存储过程中的表?

这个问题是从这个问题演变而来的。

我有两张表需要查询并从中收集一些计算得出的总和;我需要一个基于单位的结果集——每个单位一行,为它们计算的数据折叠到该行中。

这两个表包含以下相关成员:

客户类别日志

ReportingMonthlySales :

对于每个 Unit(在两个表中都有很多行,每个 MemberNo 一个,但在结果集中包含一行),我需要填充四列:New、Assumed、Existing 和 Organic。这些值是基于属于相应“子类别”字段的单元的所有成员的总和。CustomerCategoryLog 表的 BeginDate/EndDate 值用于确定单位/成员在评估的月/年期间属于哪个子类别。

因此,结果集的简化形式如下所示:

用英语来表达这个问题,它是这样的:

给定用户作为参数提供的月份和年份(例如“1”代表月份(一月)和“2016”代表年份),找出每个 Unit 在该月内每个 Subcategory 的 MonthlySales 中有多少美元(其中BeginDate 小于或等于用户提供的月/年日期并且 EndDate 大于或等于提供的月/年日期)。

所以似乎我需要从年/月参数创建一个日期,以便与 CustomerCategoryLog 表中的 BeginDate 和 EndDate 值进行比较(另一个选项是更改 CustomerCategoryLog 表,使其具有 BeginDateMonth、BeginDateYear、EndDateMonth , 和 EndDateYear 整数;但我认为必须有一种直接的方法来从提供的年/月参数创建日期)。

我的问题是如何在 TSQL 中实际构建它。我不是 SQLhead,我最好的(伪sql)刺是:

我知道这不太正确,甚至可能不太正确,但希望对于 SQL 专家/jr 来说已经足够清楚了。读心者以了解我需要做什么/正在尝试做什么。

更新

以下是查询的两个表中的一些示例数据:

CustomerCategoryLog 表:

ReportingMonthlySales 表:

0 投票
1 回答
415 浏览

java - 关于jpa/hibernate subselect fetching的询问

我有一个关于代码片段(完整源代码)的询问,这是一本关于 Hibernate/JPA 的书的随附代码示例。

这是代码清单:

我不明白的具体部分是这个:

它旨在演示使用休眠的子选择功能进行预取以及将要执行的 SQL 查询。

以下注释: // select ID from ITEM表示从 DB 中检索所有项目 ID。这是子选择预取的工作原理吗?为什么要从表中检索所有IDs ITEM

这是Item实体:

0 投票
1 回答
43 浏览

sql - 触发器 - 将 SELECT Result 直接写入 :new.field

我实际上正在接受 oracle SQL 基础知识的培训,并且我创建了一个看起来像这样的触发器(它有效!):

这个触发器工作正常,但我有两个简单的问题:

  1. 是否可以将第二个 SELECT 的结果直接写入: NEW.referee_nation_name 字段?所以我不需要第二个变量。

  2. 您是否看到其他可以优化的东西?

0 投票
1 回答
68 浏览

mysql - SQL子选择解析

我有 2 个表格,即下面的客户和产品是否有定义

顾客

  • customer_id.
  • customer_name.

产品

  • product_id.
  • product_name.

客户表填充如下

产品表填充如下

当我运行以下查询时

我的期望是它会在产品表中抱怨 no column customer_id 错误,而不是这个查询返回客户表的所有行。谁能解释这里发生了什么?为什么子选择使用父查询中的表并从中返回结果而不抱怨?

0 投票
1 回答
57 浏览

db2 - 在结果集列中包含用户定义的表函数中的 5 个返回列

我有一个 UDTF 将始终返回 1 行 6 列 UDTF 有一个参数

我希望查询结果集中包含 5 列。我正在查询的表有一列我想用作每一行的参数

我一直无法弄清楚正确的语法。

有什么建议么?

UDTF

例子

结果

这是我尝试过的选择示例

结果

0 投票
3 回答
1735 浏览

sql - FROM子句中子选择的Oracle语法?

根据Using Subqueries Oracle SQL 在 select 语句的 from-clause 中接受子查询,例如

但是,查看SELECT 文档,我看不到在 from 子句中选择/子查询的可能性(例如,从规则table_referencejoin_clause)。

我在这里遗漏了什么吗,这部分 SQL 语法是否记录在其他地方?或者这是文档的另一个不完整部分?

0 投票
2 回答
3876 浏览

sql - 获取分组结果的最后一个值 - Oracle SQL

有一张账单清单,我想知道每个客户按 id 分组的销量。每张账单都有一个负责人(一位店员,要么是表中的顾客),所以我想拿起最后一张账单的人并将其包含在结果中。

结果应该是这样的:客户 - 账单总和 - 最后一张账单的负责人。

由于 Oracle 没有“限制”选项(我们还没有 12c),所以我必须使用子选择来完成。这意味着我无法比较客户的 ID,因为它超出了范围(请参阅下面的代码)。欢迎任何建议。

在这种情况下,b.responsible无法从 customer 表中获取customer.id 。

请随意更改标题,我不是很擅长,对不起!

0 投票
2 回答
61 浏览

sql - 如何动态使用方法连接

如何实现以下

我有一个查询:

它提供了这个结果:

在此处输入图像描述

我正在尝试创建一个额外的列(基于随附的屏幕截图),其中填充了给定开始和结束间隔之间递增的日期。

这是我想要完成的事情:

在此处输入图像描述

右侧的数字显示应为每个 ID 生成多少条记录。

对不起我的英语不好,我希望它是可以理解的。

0 投票
1 回答
198 浏览

subquery - 是否有比此查询更具可扩展性的子选择替代方案?

我有一个包含date类型字段的大表datetime。作为将两个列表作为输入的函数的一部分,datetime即一个列表,afromsatos想为这些afrom,ato对中的每一对计算日期在它们之间的大表的所有行。

我想出了一种不太有效的方法来做到这一点,即它有一个严重的可扩展性缺陷:

然后我可以cross这样使用:

这会产生正确的结果:

但是,当我有一个大列表afroms并且atoscross“不必要地”扩展潜在的大表t2时,它的大小t1不会很好地扩展。

有一个更好的方法吗?例如,我尝试过类似的事情:

我猜我需要做一个循环,但不知道怎么做。子问题..是否有可能有一个区间元组列表,即intervals(afrom;ato)而不是分隔afromsatos

0 投票
1 回答
105 浏览

sql - 两个 SELECT 语句单独工作但不能一起工作

我有两个单独工作的选择语句,但不能一起工作。

这个:

工作并返回一行一列,值为 2

这个:

工作并返回正确的行。

然而,这:

不返回任何内容(它应该返回与上述语句相同的行),即使外部和内部选择语句独立工作。这里有什么问题?

谢谢!