Установление родительско-дочерних отношений между учетными записями (основная таблица учетных записей JDE) - PullRequest
0 голосов
/ 21 сентября 2019

Я работаю над базой данных SQL Server, которая содержит данные главной книги (JDE).

В частности, мне нужно запросить таблицу «Account Master», которая содержит список учетных записей (286 027 строк), некоторые из которых являются родителями для других учетных записей.Что мне нужно сделать, это установить отношения родитель-потомок между ними, чтобы я мог затем извлечь иерархию родитель-потомок.Мне бы хотелось, чтобы столбец «Родительский счет» в конце указывал на родительский [Account ID] для любой данной строки.Если родителя нет, то он должен содержать NULL (или любое значение, означающее отсутствие родителя).

Таблица называется Master Account и содержит большое количество столбцов, но для краткости я перечислил только соответствующие столбцы и их типы данных ниже:

[Account ID] (nvarchar(8), null) PK 
[Business Unit] (nvarchar(12), null) 
[Level of Detail] (nvarchar(1), null)
[Object Account] (nvarchar(6), null) 
[Subsidiary] (nvarchar(8), null) 

Естьоколо 6 уровней (1 - самый высокий уровень), перечисленных в столбце Уровень детализации.

Чтобы определить родителя любой данной учетной записи, у родителя будет:

  • то же [Business Unit], что и у дочернего [Business Unit],
  • значение [Уровень детализации], которое на единицу меньше дочернего [Уровень детализации],
  • максимальное значение [Учетная запись объекта] + [Дочерняя компания], которое меньше или равно дочернему [Учетная запись объекта] +[Дочернее предприятие].

Я хотел бы сделать это в SQL, но я изо всех сил пытаюсь придумать, как бы я мог запросить таблицу в соответствии с приведенными выше правилами.Кто-нибудь может помочь?Спасибо.

...