【发布时间】:2013-03-15 19:17:21
【问题描述】:
我一直在阅读 MS SQL2012 中的 Hierarchy 数据类型。我正在尝试在每个级别存储具有值的组织数据结构。我想知道如何聚合与层次结构数据列关联的数据。
例如,假设我想将所有内容从层次结构的顶部总结为 3 个级别,我会用什么来做到这一点。我使用 group by 或 roll-up 或者我可以在层次结构数据类型上使用的一些新函数。
【问题讨论】:
标签: tsql hierarchy aggregation
我一直在阅读 MS SQL2012 中的 Hierarchy 数据类型。我正在尝试在每个级别存储具有值的组织数据结构。我想知道如何聚合与层次结构数据列关联的数据。
例如,假设我想将所有内容从层次结构的顶部总结为 3 个级别,我会用什么来做到这一点。我使用 group by 或 roll-up 或者我可以在层次结构数据类型上使用的一些新函数。
【问题讨论】:
标签: tsql hierarchy aggregation
总结最多 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
【讨论】:
where [Hindx].GetLevel() 无效 - 您需要一个计算结果为布尔值而非数字的表达式。