0

我正在尝试从 TFS_Warehouse 检索所有“产品积压”工作项的分层列表。今天是我在 TFS 上工作的第一天,所以我并不真正了解架构/或要查找的表。

我找到了两个表 DimWorkItem 和 FactWorkItemLinkHistory。我尝试从这些中提取一些信息,但没有运气。

我要做的是生成一个发布详细信息列表,该列表将显示具有新、已批准等状态的工作项......我需要编写一个 TSQL 语句来获取这些数据。

任何帮助表示赞赏。

谢谢, 维沙尔

4

1 回答 1

3

我假设您已经弄清楚了这一点,但是如果其他人经过,您可以将GetWorkItemsTreeUDF 与CROSS APPLY运算符一起使用,将根节点System_Id和用于遍历树的关系类型传递给它,例如:

SELECT 
   ...
FROM
    DimWorkItem wi
CROSS APPLY
    GetWorkItemsTree(@TeamProjectCollectionGuid, wi.System_Id, N'Child', DEFAULT) wit
WHERE
    wi.System_Id = @RootId
    AND wi.System_RevisedDate = CONVERT(datetime, '9999', 126) -- latest revision

但是,这个 UDF 只会遍历一个关系类型,我记得遍历深度是有限制的。如果您需要更灵活的东西,您可能必须自己编写;我这样做是在表上使用包含递归 CTE 的 UDF [FactWorkItemLinkHistory],它还提供了多种关系类型的遍历。

于 2013-05-21T07:02:01.533 回答