在你开始推荐U2U CAML编辑器或CAML Designer 2013之前,我已经尝试过两者,没有一个允许我以直观的方式对ANDS / ORS语句进行分组以进行正确的查询。
如果Bill循环使用某些字段,我会有一个列表,在SQL中这将非常简单:
firstname, lastname,
我的代码或多或少是这样的:但我错过了将这两个大的语句分组
WHERE (Content Type='Bill Cycle')
AND (Status != 'Completed' ANDStatus!='Terminated' and Status!=NULL)
AND (JobAdvisor:xyz OR JobPartner:xyz or JobManager:xyz or Reviewer:xyz or AnotherUserField:xyz)
答案 0 :(得分:1)
只需按照您的SQL示例...外部和三个方面:Bill Cycle测试,and'ed状态测试和OR块。
<And>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Computed'>Bill Cycle</Value>
</Eq>
<And>
<Neq>
<FieldRef Name='Bill_x0020_Preparation_x0020_Status' />
<Value Type='Text'>Completed</Value>
</Neq>
<Neq>
<FieldRef Name='Bill_x0020_Preparation_x0020_Status' />
<Value Type='Text'>Terminated</Value>
</Neq>
<IsNull>
<FieldRef Name='Bill_x0020_Preparation_x0020_Status' />
</IsNull>
</And>
<Or>
<Or>
<Or>
<Or>
<Contains>
<FieldRef Name='Billing_x0020_Advisor_x0020_Reviewers' />
<Value Type='User'>a</Value>
</Contains>
<Contains>
<FieldRef Name='Final_x0020_P_x002F_D_x0020_Approver' />
<Value Type='User'>a</Value>
</Contains>
</Or>
<Contains>
<FieldRef Name='BillManager' />
<Value Type='User'>a</Value>
</Contains>
</Or>
</Or>
<Contains>
<FieldRef Name='Bill_x0020_Preparer' />
<Value Type='User'>a</Value>
</Contains>
</Or>
</And>