У меня есть денормализованная таблица, которую я пытаюсь оценить на предмет иерархических проблем.Правильный формат - иерархическая структура сверху вниз для большой организации.Концептуально, у каждого должен быть только один менеджер отчетов, но поскольку он денормализован, это не всегда так.Я хочу найти все записи, в которых конкретный сотрудник имеет более одного менеджера по отчетности.Вот некоторые примеры данных:
LVL1_First_Name|LVL1_Last_Name|LVL1_Emp_ID|LVL2_First_Name|LVL2_Last_Name|LVL2_Emp_ID|LVL3_First_Name|LVL3_Last_Name|LVL3_Emp_ID
---------------+--------------+-----------+---------------+--------------+-----------+---------------+--------------+-----------
Jack |Gorshon |0001 |Henry |Johnson |0003 |Amy |Taylor |0005
Robert |Harris |0002 |Henry |Johnson |0003 |Nick |Greer |0006
Robert |Harris |0002 |Jim |Balial |0004 |Josh |Wolfe |0007
Как видите, существует проблема с иерархией, когда Генри Джонсон сообщает обоим Роберту и Джеку.Я пытаюсь создать оператор SQL, который вытащил бы первые две записи этой таблицы, потому что они не следуют истинной иерархии сверху вниз.
Я пытался решить эту проблему с помощью группы.... с заявлением, но оно не дает мне нужных результатов.
Примечание: я не отвечаю за этот формат данных.Моя цель состоит в том, чтобы очистить и очистить его, прежде чем поместить в надлежащую, нормализованную структуру данных.