2013-04-30 42 views
0

我想從TFS_Warehouse檢索所有'產品待辦事項'工作項目的分層列表。今天是我在TFS上工作的第一天,所以我沒有真正意識到模式/或要查找的表。來自TFS_Warehouse數據庫的工作項目的分層列表

我發現了兩個表DimWorkItem和FactWorkItemLinkHistory。我嘗試從這些中提取一些信息,但沒有運氣。

我想要做的是生成一個發佈詳細信息列表,它將顯示具有新狀態,已批准狀態的工作項...我需要編寫一個TSQL語句來獲取此數據。

任何幫助表示讚賞。

感謝, 維沙爾

回答

3

我假設你已經想通了這一點,但如果任何人經過你可以用一個CROSS APPLY運營商使用GetWorkItemsTree UDF,它傳遞的根節點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將僅遍歷單個關係類型和我記得有被限制到遍歷深度。如果你需要更靈活的東西,你可能需要自己寫;我在[FactWorkItemLinkHistory]表中使用了一個包含遞歸CTE的UDF,該表還提供了多種關係類型的遍歷。

+0

感謝您的回覆。不過,我使用OLTP數據庫中的WorkItemsAre和LinksAre表做了它。 – 2013-06-07 12:30:04