【问题标题】:Getting all the ancestors doesn't work得到所有的祖先是行不通的
【发布时间】:2015-02-10 19:46:40
【问题描述】:

我在 SQL Server 中使用 HierarchyId,我参考下面的文章来获取所有祖先

https://technet.microsoft.com/en-us/library/bb677212%28v=sql.105%29.aspx

我有以下代码:

  DECLARE @last_child HIERARCHYID
     select *
     FROM   dbo.Geography AS g
     WHERE  @last_child.GetAncestor(1) = 0x58

     SELECT @last_child

我在 DB 中确实有一个 id 为 0x58 的节点,并且它确实有一个子节点。但是,@last_child 出于某种原因不断返回 null。我做错什么了吗?

【问题讨论】:

    标签: sql-server sql-server-2008 hierarchyid


    【解决方案1】:

    好的。我仍然不确定上面的代码有什么问题。但是,我找到了另一种方法来查找特定父节点的所有子节点。代码贴在下面:

    SELECT *
    FROM Geography
    WHERE GeographyNode.IsDescendantOf(0x58) = 1
    

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 2019-06-17
      • 2012-01-26
      • 1970-01-01
      相关资源
      最近更新 更多