【问题标题】:Getting parenthood of tree structure获得树结构的父母身份
【发布时间】:2019-04-26 22:15:12
【问题描述】:

我正在尝试检索我想要特定级别的“父母身份”的树结构。我的表具有深度、路径索引和映射级别。我的第一种方法是使某些类型的子字符串能够通过映射查找值,但是在转换字符串时遇到了多个错误。可能的一件事是,如果我尝试查询一个不在最低级别的项目,它应该为它缺少的级别返回 null。

在表中如果我在哪里查询行而星号

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'

【问题讨论】:

    标签: sql sql-server tree


    【解决方案1】:

    不要在层次结构成员之间放置小数,而是使用正斜杠 (1/2/3),然后您可以使用 Microsoft SQL 层次结构数据类型和函数轻松加入和保留结构: https://www.sqlshack.com/use-hierarchyid-sql-server/

    【讨论】:

      猜你喜欢
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2020-03-26
      • 2015-04-26
      • 1970-01-01
      相关资源
      最近更新 更多