首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在查询中更改运算符优先级(首先或,然后和)?

如何在查询中更改运算符优先级(首先或,然后和)?
EN

Stack Overflow用户
提问于 2016-09-30 10:59:33
回答 3查看 137关注 0票数 0

背景:

Visual 2015允许在存储在TFS中的工作项、bug等的上创建查询。

它将返回当前项目中尚未关闭和解决的bug。到目前为止,它运行良好,bug被从外部系统(HP ALM)复制到TFS中。

如果我现在只想限制只分配给我的bug,我可以使用“分配给”字段并将其添加为分区,但是ALM使用“分配给”字段的"HP ALM“跟踪的不同帐户。

,所以我想创建一个像这样的条件

代码语言:javascript
复制
(Team Project = @Project) AND (State <> Closed) AND (State <> Resolced)
AND (HP ALM Assigned To = "myALMID" OR Assigned To = @Me)

但是,如您所见,查询编辑器不允许输入括号,上面所示的条件没有做正确的事情,因为它将计算为

代码语言:javascript
复制
(Team Project = @Project) AND (State <> Closed) AND (State <> Resolced)
AND (HP ALM Assigned To = "myALMID") 
OR Assigned To = @Me

它显示了分配给@Me 或的所有符合条件的项。

代码语言:javascript
复制
(Team Project = @Project) AND (State <> Closed) AND (State <> Resolced)
AND (HP ALM Assigned To = "myALMID") 

因为AND运算符优先于OR

问题:

为了使查询按预期工作,我需要更改什么?

更新:按照Daniel Mann的建议,我尝试了分组,但这也不返回我想要的结果:

我试图将OR HP ALM Assigned To = "myALMID"更改为AND HP ALM Assigned To = "myALMID",但这仍然做得不对。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-04 09:02:05

考虑到来自Cece - MSFTDaniel Mann的这两个提示,我对查询进行了如下修改:

您可以看到,现在只有14项返回,这是正确的。问题似乎已经解决了,谢谢两位-我投票给您是因为你们都为解决方案做出了贡献。

现在让我总结一下,我从中学到了什么:

  • 条件出现的顺序似乎很重要。我移动了包含分配给和分配给顶部的HP的组,以便能够在它们之间只选择"OR“,并将其分组在一起。
  • 我在引号中有ALM ID,这是错误的-所以我删除了它们。
  • 我将状态条件组合在一起(但我不确定是否需要)

遗憾的是,查询编辑器不允许“不在”,只允许“不在组”,因此我不得不对我想排除的每个状态重复" state“行。

票数 0
EN

Stack Overflow用户

发布于 2016-09-30 13:33:39

当您选择两个或多个子句时,可以将它们组合在一起。用户界面上应该有按钮,右击上下文菜单上应该有项目.

票数 2
EN

Stack Overflow用户

发布于 2016-10-03 04:07:45

组条款在我这边起作用。您可以检查字段HP ALM Assigned To是否具有正确的值:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39789952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档