【问题标题】:WIQL: Compare source field with target fieldWIQL:将源字段与目标字段进行比较
【发布时间】:2015-11-11 09:54:37
【问题描述】:

我尝试创建一个 WIQL 查询,用于比较工作项及其相关(链接)工作项的字段内容,例如其中工作项的“状态”与相关工作项的“状态”不同。

SELECT [System.Id], ... FROM WorkItemLinks WHERE ...
[Source].[System.State] <> [Target].[System.State])
ORDER BY [System.CreatedDate] desc, [System.AssignedTo] mode(MayContain)

(上面的 ... 仅表示我为清楚起见在此处省略的部分。)

当我尝试应用查询时,我从 TFS 收到此错误消息:

链接查询不能混用不同前缀的表达式

有没有办法用 WIQL 比较源字段和目标字段?

【问题讨论】:

    标签: tfs wiql


    【解决方案1】:

    不,正如错误消息所示,您不能混合使用不同前缀的表达式。因此,您无法直接比较 Source 和 Target 中的字段。有关详细信息,请参阅 MSDN 的此链接:http://blogs.msdn.com/b/team_foundation/archive/2010/07/02/wiql-syntax-for-link-query.aspx

    但是,对于具有预定义列表值的字段,您可以编写如下查询来实现您想要的功能。

    SELECT [System.Id] FROM WorkItemLinks WHERE 
    ([Source].[System.State] = ‘New’ and [Target].[System.State] <> ‘New’) 
    OR ([Source].[System.State] = ‘Resolved’ and [Target].[System.State] <> ‘Resolved’)
    OR ([Source].[System.State] = ‘Active’ and [Target].[System.State] <> ‘Active’)
    OR ([Source].[System.State] = ‘Closed’ and [Target].[System.State] <> ‘Closed’)
    ORDER BY [System.CreatedDate] desc, [System.AssignedTo] mode(MayContain)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-30
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      相关资源
      最近更新 更多