【发布时间】:2021-12-17 23:49:34
【问题描述】:
有 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 N
01-Feb-21 30-Jun-21 J1 L1 Y
01-Jul-21 30-Jul-21 J2 L1 Y
01-Aug-21 15-Aug-21 J2 L2 N
16-Aug-21 31-Aug-21 J2 L2 Y
01-Sep-21 01-Nov-21 J1 L2 Y
02-Nov-21 31-Dec-21 J1 L1 Y
发布此更改我还需要添加另一个表中的更改,我将从上表中的位置连接到此位置表,并且需要捕获同一位置内的更改。 例如:
StDt EdDt Job Location (Column in Loc Table : Status) Required_Rows
01-Jan-21 15-Jan-21 J1 L1 A Y
16-Jan-21 31-Jan-21 J1 L1 B N
01-Feb-21 30-Jun-21 J1 L1 B Y
01-Jul-21 30-Jul-21 J2 L1 B Y
01-Aug-21 15-Aug-21 J2 L2 B N
16-Aug-21 31-Aug-21 J2 L2 B Y
01-Sep-21 01-Nov-21 J1 L2 B Y
02-Nov-21 31-Dec-21 J1 L1 B Y
编辑:(发布此更改我还需要从另一个表中添加更改,我将从上表中存在的位置加入此位置表,并且需要捕获同一位置内的更改。)
请回复第二张表的答案,我如何在 1 个查询中提取数据以查找位于主表位置的同一位置内的更改。
大家好,
第二个表格如下所示:
StDt EdDt Status Location
01-Jan-21 15-Jan-21 A L1
16-Jan-21 31-Dec-21 B L1
01-Jan-21 31-Dec-21 B L2
【问题讨论】:
-
请描述
2021-01-15是如何出现在输出中的?样本数据中没有这样的日期 -
嘿,这不是输出......这是两个不同的数据集......Required_Rows 列告诉输出中应该是什么行,那些是 Y.... 我需要一个两个数据集的解决方案。
-
那么这个样本数据的输出应该是什么?
-
Required_Rows 列为 Y 的行应该是所有列的数据的输出。
-
所以我给出了 2 个数据集,因为我需要两个数据集的解决方案......仅在这些数据集中我通过指定 Required_Rows 列指定了我需要在这些数据集中的哪些行作为我的输出为 Y。Required_Rows 为 N 的行在输出中不需要。
标签: sql oracle gaps-and-islands