Oracle中的查询通过子查询进行选择

2023-11-30

我的 Oracle 数据库中有下表:

CREATE TABLE test
(
 flight NUMBER(4),
 date   DATE,
 action VARCHAR2(50),
 CONSTRAINT pk PRIMARY KEY (flight,date)
);

以及以下寄存器:

BEGIN
 INSERT INTO test VALUES ('1234', '2020-02-29 18:00', 'Departure');
 INSERT INTO test VALUES ('1234', '2020-02-29 19:00', 'Arrival');

 INSERT INTO test VALUES ('4321', '2020-02-20 22:00', 'Departure');
 INSERT INTO test VALUES ('4321', '2020-02-21 04:30', 'Arrival');
END;
/

我的问题是我想做一个选择,仅当航班在同一天出发和到达时才返回我的航班号。例如,航班“1234”于第 29 天出发,于第 29 天抵达,但另一方面,航班“4321”于第 20 天出发,于第 21 天抵达。我只想选择航班“1234” ',因为它是唯一符合要求的。

我一直在考虑以下选择,但它不起作用,因为子查询返回的不仅仅是一个值:

SELECT flight
  FROM test
 WHERE action = 'Departure'
   AND TO_CHAR(date, 'YYYY-MM-DD') = (SELECT TO_CHAR(date, 'YYYY-MM-DD')
                                        FROM test
                                       WHERE action = 'Arrival');

太感谢了。


您只需要在一天内采取明确的行动即可。因此,使用 HAVING 分别计数按航班和日期分组的两个单独操作:

SELECT flight
  FROM test
 WHERE action in ('Departure','Arrival')
 GROUP BY flight, trunc("date")
HAVING COUNT(distinct action)=2

应该有的地方distinct子句,如果扩展样本数据集,则观察到需要

Demo

  • date是保留关键字,不能用作 Oracle 数据库的列名。所以,我更喜欢"date"
  • 时间文字前缀为timestamp关键字并添加部分:00最后代表second例如timestamp'2020-02-21 04:30:00'在插入过程中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle中的查询通过子查询进行选择 的相关文章

  • SQL:比较不同表中的两个计数

    我有 3 张桌子 一张桌子上有世界上每个国家及其代币 NAME CODE Afghanistan AFG Albania AL Algeria DZ American Samoa AMSA Andorra AND Angola ANG An
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 如何将日期/时间从 24 小时格式转换为 12 小时 AM/PM? [复制]

    这个问题在这里已经有答案了 我从数据源中获取以下格式的日期和时间 19 24 15 06 13 2013 我需要将其转换为 12 小时 AM PM 格式 不带秒 所以上面的时间是晚上 7 24 日期应保留为 mm dd yyyy 格式 在
  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • 在java中迭代日期

    我需要遍历一系列日期 不确定如何在 for 循环中获取第二天 我在用java util Date So plusDays 1 不能在 for 循环中用于获取下一个日期 Used date1 new Date date1 getTime 10
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • 创建 SYS_REFCURSOR 并将其作为输入参数从 Java 传递给 Oracle 过程

    我必须与具有 SYS REFCURSOR 作为输入参数的外部 Oracle 过程进行通信 过程 merge objects varchar2 中的 p table name p id array 中 varchar2 SYS REFCURS
  • SQL Server 查询结果集的大小

    SQL Server 中是否有确定结果集中 Mgmt Studio 查询中返回的数据大小 以 MEGS 为单位 您可以打开客户端统计信息 查询菜单 包括客户端统计信息 它给出执行查询时从服务器返回的字节数
  • 使用MySQL计算单个表中借方和贷方的余额

    下面的 MySQL 表包含带有关联金额的借方或贷方 操作 如何选择具有非零 余额 的所有 CLIENT ID 我尝试将表连接到自身以计算所有借方和贷方总额 但有些东西无法正常工作 CLIENT ID ACTION TYPE ACTION A
  • SQL Server 使用通配符加入并在第一个匹配处停止

    IF OBJECT ID tempdb TABLE1 IS NOT NULL DROP TABLE TABLE1 IF OBJECT ID tempdb TABLE2 IS NOT NULL DROP TABLE TABLE2 CREATE
  • CREATE TABLE 和 CREATE ANY TABLE 权限之间的区别

    我不明白这两种特权之间的区别 我找到了这两个解释 但这对我没有帮助 CREATE TABLE gt Enables a user to create a table owned by that user CREATE ANY TABLE g
  • 如何用js获取一个月的4个星期一?

    我正在构建一个图表 其中 x 轴应该是一个月的四个星期 我只想显示该月的四个星期一 我已经有了currentMonth和currentYear变量 而且我知道如何获取该月的第一天 我所需要的只是将一个月的四个星期一放入数组中 所有这些都在同
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • jQuery 日期选择器 - 时区问题

    我们在网站上使用 jQuery 日期选择器来选择预订的日期和时间 日历当前设置为太平洋标准时间 当用户尝试从其他时区访问时 这会导致错误 我们是否应该将服务器设置为 UTC 并让应用程序根据用户的 IP 地址自动选择用户的时区 我很好奇我们
  • 如果执行没有事务的删除语句,是否会删除部分内容?

    如果表myTable包含100000000条记录 我执行DELETE FROM myTable 没有开始交易并且出现问题 例如服务器电源故障 会删除一些记录吗 否 如果数据库引擎符合ACID http en wikipedia org wi
  • SQL Server 相当于 MySQL 的 USING

    在 MySQL 中 当您连接不同表中具有相同名称的列时 可以在连接中使用关键字 USING 例如 这些查询产生相同的结果 SELECT FROM user INNER JOIN perm USING uid SELECT FROM user
  • 什么是 Oracle 数据集成器?

    什么是ODI ODI的实际用途是什么 oracle data integrator工具如何帮助编程 sql Developer 工具和 ODI 工具实际上有什么区别 真的厌倦了在某些网站上找到的定义 如果有人能提出 gud 解释 那就太好了
  • APEX:从临时表下载 BLOB

    我正在尝试使用 Oracle APEX 4 1 1 构建一个简单的查看应用程序 要显示的信息位于与包含 APEX 应用程序访问的架构的数据库不同的数据库上的表中 使用视图 View 访问此远程表 远程表视图 和数据库链接 视图按预期工作 包
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B

随机推荐

  • 重构 JSON

    我现在有来自服务器的 JSON 响应 但我想根据日期重组它 例如我现在有 items A name a date 2 10 2010 sales 100 name b date 6 10 2010 sales 400
  • “git分支”和“git checkout -b”有什么区别?

    I used git checkout b创建一个新分支 我觉得git branch做同样的事情 如果这两个命令有不同的话 它们有何不同 git checkout b BRANCH NAME创建一个新分支并签出新分支 同时git branc
  • 我应该设计一个主键为 varchar 还是 int 的表?

    我知道这是主观的 但我想了解人们的意见 并希望在设计 sql server 表结构时可以应用一些最佳实践 我个人认为 在固定 最大 长度的 varchar 上键入表是不行的 因为这意味着必须在使用它作为外键的任何其他表上传播相同的固定长度
  • 如何读取/流式传输文件而不将整个文件加载到内存中?

    如何读取任意文件并 逐个 处理它 意味着逐字节或其他一些可以提供最佳读取性能的块大小 而不将整个文件加载到内存中 处理的一个示例是生成文件的 MD5 哈希值 尽管答案可以适用于任何操作 我想拥有或编写这个 但如果我可以获得现有的代码 那就太
  • PDO 使用键作为列名插入数组

    我正在使用 PDO 将 PHP 数组的 POST 内容插入到表中 我正在查看以下代码行 我有一个 必须有更好的方法来做到这一点 的时刻 如果键名与表中的列名匹配 是否有更简单的方法来插入所有键名 代码例如 statement db gt p
  • 下划线:基于多个属性的sortBy()

    我正在尝试根据多个属性对包含对象的数组进行排序 即 如果两个对象之间的第一个属性相同 则应使用第二个属性来比较这两个对象 例如 考虑以下数组 var patients name John roomNumber 1 bedNumber 1 n
  • 与 AVX/AVX2 一起使用的最低 OS X 版本是什么?

    我有一个图像绘制例程 为 SSE SSE2 SSE3 SSE4 1 SSE4 2 AVX 和 AVX2 编译多次 我的程序通过检查 CPUID 标志来动态调度这些二进制变体之一 在 Windows 上 我检查 Windows 版本 如果操作
  • 在 C 中设置位

    我正在尝试执行以下操作 写一个函数setbits x p n y 返回x with n开始于的位 位置p设置到最右边n的位y 留下其他位 不变 我这样尝试但没有得到正确的答案 谁能告诉我哪里错了 unsigned setbits unsig
  • Android 键盘隐藏 EditText

    当我尝试在屏幕底部的 EditText 中写入内容时 软键盘会隐藏 EditText 我该如何解决这个问题 下面是我的 xml 代码 我在片段中使用它
  • 如何检索 Android 中可用/已安装字体的列表?

    在Java中我会做类似的事情 java awt GraphicsEnvironment ge java awt GraphicsEnvironment getLocalGraphicsEnvironment Font fonts ge ge
  • 命令行参数太多 Terraform 计划

    我是地形新手 我正在尝试通过天蓝色管道创建一个简单的存储帐户 但是当我运行管道时 我收到错误 命令行参数太多 我很震惊 我不知道我做错了什么 有人可以帮忙吗 这是我的计划脚本 script terraform plan out plan t
  • 如何使用占位符将列名值作为 SQL 参数传递

    如何使用参数占位符将列名值作为 SQL 参数传递 目标是让这个工作 var sql SELECT FROM Condos WHERE 0 LIKE 1 var sqlData db Query sql choice searchString
  • 如何从java应用程序创建Windows服务

    我刚刚继承了一个java应用程序 需要将其作为服务安装在XP和vista上 自从我以任何形式使用 Windows 以来 已经有大约 8 年了 我从来没有创建过服务 更不用说像 Java 应用程序这样的东西了 我有一个应用程序的 jar 和一
  • Android 连接至已配对的蓝牙耳机

    我想模拟通过 设置 gt 无线 gt 蓝牙 的操作 并以编程方式连接配对的蓝牙耳机 我在 Stackoverflow 和 Google 上进行了一些搜索 两者都表明在 API 级别 11 之前没有可用的解决方案 但是 我有兴趣通过查看 An
  • 使用 python 和 pandas 按季节对数据进行分组

    我想使用 Pandas 和 Python 迭代我的 csv 文件 并按季节对数据进行分组 计算一年中每个季节的平均值 目前 季度脚本为一月至三月 四月至六月等 我希望季节与月份相关联 11 冬季 12 冬季 1 冬季 2 春季 3 春天 4
  • 解析复杂的肥皂响应

    我正在 android 中构建我的第一个应用程序 该应用程序使用 wcf 服务 我正在使用 ksoap2 来解析响应 响应实际上是 C 中定义的对象数组 我这样做了 这非常有帮助guide现在我的问题是我需要使用一个 wcf 服务 它再次返
  • 如何在 OPENGL 中旋转或平移单个对象实例?

    假设我有一个有四个立方体的场景 我该如何说在 OpenGL 中仅旋转 平移其中两个立方体而不使用 glrotatef 和 f gltranslate 更改其他立方体 我不想定义我自己的齐次坐标 像往常一样绘制前两个立方体 推入视图模型矩阵
  • iPhone 上的点击延迟和抑制输入焦点

    iPhone 上的 webkit 浏览器在用户进行触摸和 javascript 获取单击事件之间有 300 毫秒的延迟 发生这种情况是因为浏览器需要检查用户是否进行了双击 我的应用程序不允许缩放 因此双击对我来说毫无用处 有不少人有提出的解
  • 如何安全地调用 vsnprintf() ?

    我正在将一些非常古老 gt 10 年 的 C 代码移植到现代 Linux 我在自定义编写的 vsnprintf 包装器中遇到分段错误 显然它的任务是检测重复的输出字符串并实习它们 char strVPrintf const String f
  • Oracle中的查询通过子查询进行选择

    我的 Oracle 数据库中有下表 CREATE TABLE test flight NUMBER 4 date DATE action VARCHAR2 50 CONSTRAINT pk PRIMARY KEY flight date 以