Коллега пытается создать отчет в системе ERP с пользовательской функцией отчетности; Базовая БД - Oracle 11g. Важным фактом здесь является то, что функция отчетности ERP может ограничивать подходы, которые мы можем использовать для этого отчета. Это подозрение моих коллег, но я недостаточно знаю об этом, чтобы подтвердить это.
Проблема:
У нас есть таблица с подробным описанием позиций в компании, которую мы назовем Roles
, и еще одна таблица, в которой хранятся данные о назначении каждой роли для заданных временных окон, и мы назовем это PersonRoles
.
.
На указанную дату мы хотим вернуть человека или людей (может быть несколько человек, выполняющих одну и ту же роль одновременно), которые имеют определенную роль.
Однако иногда роли будут вакантными в течение определенного периода; например, если PersonA удерживает роль с января по май, а PersonB исполняет роль с августа по декабрь, будут 2-месячные окна, в которых никто не находился в посте. В этом случае, когда мы делаем запрос к такому дню (июнь / июль), мы хотим вернуть стандартный результат (скажем, «Вакансия»).
Мало того, что мне было бы интересно услышать «лучший» подход, но и другие подходы могли бы лучше соответствовать предполагаемым ограничениям этого инструмента отчетности, поэтому они также будут приветствоваться.