【发布时间】:2021-11-03 13:00:33
【问题描述】:
有 1 个表,其中所有这些记录都是为 1 名员工维护的。由于此表中还有一个列在此示例中未显示,因此该人对于甚至 1 个工作有多行,即工作 J1 有 2 行,工作 J2 有 3 行,工作 J1 也有 2 行。该人从工作 J1 切换到 J2,然后再次切换到 J1。每当发生切换时如何提取所需的行,因为我必须在工作更改时提取每行的最大值。我在主查询的子查询中使用 group by 来提取行,但是如果这个人在去 J2 之后切换回同一个工作 J1,它就不起作用,因为它将 J1 中的所有工作都放在一个组中,这是不正确的。请帮帮我。
StDt EdDt Job Required_Rows
1-Jan-21 31-Jan-21 J1 N
1-Feb-21 30-Jun-21 J1 Y
1-Jul-21 30-Jul-21 J2 N
1-Aug-21 15-Aug-21 J2 N
16-Aug-21 31-Aug-21 J2 Y
1-Sep-21 1-Nov-21 J1 N
2-Nov-21 31-Dec-21 J1 Y
【问题讨论】:
-
每个用户都有一张表?那是非常糟糕的数据库设计。考虑改变它。