Получение отцовства древовидной структуры - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь получить древовидную структуру, мне нужны определенные уровни «родительства».моя таблица имеет уровень глубины, pathIndex и отображение.Мой первый подход состоял в том, чтобы сделать несколько видов подстрок, чтобы можно было искать значение с помощью сопоставления, но я получаю несколько ошибок при преобразовании строк.одна вещь, которая могла бы быть возможной, - то, что, если я пытаюсь запросить элемент, который не находится на самом низком уровне, он должен возвратить нуль для уровней, которых это пропускает.

В таблице, если я где запросить строкув то время как звездочки

Id                                     depth    pathindex   ItemNumber
4CF91F7F-832E-468D-B44A-E14DC66E710A     0          0        0.0
D34784A3-2134-4D09-828E-0EDA0C275C43     1          1        1
38158804-3EBC-4841-B1AF-1B86AD153010     2          1        1.1
8E25D494-322F-45F9-8A91-2A385F561C71     3          1        1.1.1
**64EB6C43-FF9C-0FF9-133F-01F4F21DA14F**     4          1        1.1.1.1
13AFA35C-80F8-405A-8980-33C3F7733EE2     2          2        1.2
3F1332E9-4D42-4BD8-9423-598430E94CB5     3          1        1.2.1
B3CC1306-A122-46F6-8F67-30FBABA3B590     4          1        1.2.1.1
C3F27C8E-F96B-4498-A85F-E4FC8EA90ED7     4          2        1.2.1.2

Это то, как она должна искать информацию, статические строки - те, которые я не знаю, как генерировать, чтобы получить нули при запросе уровня, который не тотглубокий.

Select top 1 VehicleGroupId as Region 
      from GroupHierarchy where GroupHierarchy.numericalmapping = '1' 
Select top 1 VehicleGroupId as gz 
      from GroupHierarchy where GroupHierarchy.numericalmapping = '1.1' 
Select top 1 VehicleGroupId as cedis 
      from GroupHierarchy where GroupHierarchy.numericalmapping = '1.1.1'

1 Ответ

0 голосов
/ 27 апреля 2019

Вместо того чтобы ставить десятичные дроби между членами иерархии, используйте прямую черту (1/2/3), а затем вы можете использовать высокоуровневый тип данных и функции Microsoft SQL, чтобы легко объединять и сохранять структуру: https://www.sqlshack.com/use-hierarchyid-sql-server/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...