【发布时间】:2021-12-21 08:52:35
【问题描述】:
有 1 个表,其中所有这些记录都是为 1 名员工维护的。由于此表中还有一个列在此示例中未显示,因此该人对于甚至 1 个工作有多行,即工作 J1 有 2 行,工作 J2 有 3 行,工作 J1 再有 2 行,顺序和位置相同.该人从工作 J1 切换到 J2,然后再次切换到 J1,并且位置发生相同的变化。每当发生切换时,如何提取所需的行,因为当工作或位置发生变化时,我必须提取每行中最少的行。请帮帮我。
StDt EdDt Job Location Required_Rows
01-Jan-21 31-Jan-21 J1 L1 Y
01-Feb-21 30-Jun-21 J1 L1 N
01-Jul-21 30-Jul-21 J2 L1 Y
01-Aug-21 15-Aug-21 J2 L2 Y
16-Aug-21 31-Aug-21 J2 L2 N
01-Sep-21 01-Nov-21 J1 L2 Y
02-Nov-21 31-Dec-21 J1 L1 Y
【问题讨论】:
-
在这里创建您的架构并询问:db-fiddle.com
-
请包含您的 Oracle 版本。不同的工具有不同的版本。另外:您真的有一张供单个员工使用的桌子吗?不适合所有员工?如果该表适用于所有员工,请在示例数据中显示 - 并说明您是需要查询单个员工 (
where employee_id = :input_id) 还是需要一次性查询所有员工。
标签: sql oracle gaps-and-islands