【发布时间】:2012-03-12 12:30:27
【问题描述】:
一位同事试图在具有自定义报告功能的 ERP 系统中生成报告;底层数据库是 Oracle 11g。这里的重要事实是 ERP 报告功能可能限制了我们可以为该报告采取的方法。这是我同事的怀疑,但我对此了解的不够多,无法证实这一点。
问题:
我们有一张详细说明公司内部职位的表格,我们称之为Roles,还有一张表格存储在给定时间窗口内分配给每个角色的人员,我们称之为PersonRoles。
对于给定的日期,我们希望返回一个或多个具有特定角色的人(可能有多个人同时担任相同的角色)。
但是,有时角色会空缺一段时间;例如,如果 PersonA 从 1 月到 5 月担任角色,而 PersonB 从 8 月到 12 月担任角色,则将有 2 个月的窗口,其中没有人在帖子中。在这种情况下,当我们查询某一天(六月/七月)时,我们希望返回一个标准结果(比如“空缺”)。
我不仅有兴趣了解“最佳”方法,而且其他方法可能更适合此报告工具的假设限制,因此它们也将受到欢迎。
【问题讨论】:
-
我忘记了这个 Qn - 我将这个建议传递给了我的同事,然后忘记了。我不再在那里工作(他也不再在那里工作)所以我不知道最终的解决方案是什么;所以我选择了两个答案中最“完整”的一个。