我需要使用非常有限的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] <> ''
and [System.CreatedDate] >= '2012-01-27T00:00:00.0000000'
and [System.CreatedBy] <> 'blah'
and not [System.State] contains 'Tested'
and not [System.State] contains 'Released'
and [System.State] <> 'Developed'
and ([System.State] <> '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;我现在无能为力,但我仍然需要对查询进行排序)
非常感谢 西蒙