【问题标题】:Aggregation on Hierarchy Data types层次结构数据类型的聚合
【发布时间】:2013-03-15 19:17:21
【问题描述】:

我一直在阅读 MS SQL2012 中的 Hierarchy 数据类型。我正在尝试在每个级别存储具有值的组织数据结构。我想知道如何聚合与层次结构数据列关联的数据。

例如,假设我想将所有内容从层次结构的顶部总结为 3 个级别,我会用什么来做到这一点。我使用 group by 或 roll-up 或者我可以在层次结构数据类型上使用的一些新函数。

【问题讨论】:

    标签: tsql hierarchy aggregation


    【解决方案1】:

    总结最多 3 个级别的所有内容,看起来您可以按照此链接使用 GetLevel

    http://technet.microsoft.com/en-us/3b4f7dae-65b5-4d8d-8641-87aba9aa692d http://msdn.microsoft.com/en-au/library/bb677197(v=sql.100).aspx

    SELECT SUM(z)
    FROM HumanResources.EmployeeOrg
    WHERE OrgNode.GetLevel() BETWEEN 0 AND 2
    

    【讨论】:

    • 从 [dbo].[Population] 中选择 sum(pop) 其中 [Hindx].GetLevel()
    • 不确定您在说什么 - 如果您发布您的 DDL,我可以提出与您的表格更一致的查询,而不是发布通用查询。请注意条件 where [Hindx].GetLevel() 无效 - 您需要一个计算结果为布尔值而非数字的表达式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多