自定义TFS工作项查询

时间:2015-02-05 11:26:12

标签: sql tfs wiql

我需要使用非常有限的WIQL以一种似乎不可能的方式自定义工作项查询。我有一个相当标准的查询,需要稍微改变:

<?xml version="1.0" encoding="utf-8"?><WorkItemQuery Version="1">
<TeamFoundationServer>http ://blah-
blah01:8080/tfs/blahcollection</TeamFoundationServer>
<TeamProject>Blah</TeamProject><Wiql>

SELECT 
[Microsoft.VSTS.Common.Priority],[System.AreaPath],
[Microsoft.VSTS.Common.Severity],[System.CreatedDate],[System.Id],
[System.WorkItemType],[System.Title],[System.CreatedBy],[System.State],
[System.AssignedTo],[System.ChangedDate],[BLAH.Category],[System.AreaId] 

FROM WorkItems

WHERE [System.TeamProject] = @project 
and [System.WorkItemType] &lt;&gt; '' 
and [System.CreatedDate] &gt;= '2012-01-27T00:00:00.0000000' 
and [System.CreatedBy] &lt;&gt; 'blah' 
and not [System.State] contains 'Tested' 
and not [System.State] contains 'Released' 
and [System.State] &lt;&gt; 'Developed' 
and ([System.State] &lt;&gt; 'Closed' 
and not [System.State] contains 'Resolved') 
and [System.AssignedTo] in ('blah1', 'blah2', 'blah3') 

ORDER BY 

[System.WorkItemType], 
[Microsoft.VSTS.Common.Priority], 
[System.AreaPath], 
[Microsoft.VSTS.Common.Severity], 
[System.Id] desc, 
[System.AssignedTo] 

</Wiql></WorkItemQuery>

它应该返回与现在完全相同的结果,除了在[System.AreaPath]列中包含&#39; Foo&#39;应首先出现,包含&#39; Bar&#39;应该出现在下一个,然后应该正常排序列的其余部分。

这在T-SQL中很简单,但使用WIQL似乎是不可能的,所以我很感激任何想法或解决方法。

可能与变通方法相关的一个事实是,TFS实例位于SQLExpress之上,而不是完整的SQL Server(它最初是一个概念验证,正在被替换的过程中,那里有一个&#39;我现在无能为力,但我仍然需要对查询进行排序)

非常感谢 西蒙

0 个答案:

没有答案