我需要获取docID为555,请求类型包含修改,状态未完成或状态未被拒绝的所有记录。我试过跟踪,但它返回的数据在状态列中已被“拒绝”。
使用多个运算符的SharePoint列表CAML查询(很少结束和/或用于状态字段)
<Query>
<Where>
<And>
<Eq>
<FieldRef Name='DocID' />
<Value Type="Text">{ItemProperty:DocID}</Value>
</Eq>
<And>
<Contains>
<FieldRef Name="RequestType" />
<Value Type="Choice">Modify</Value>
</Contains>
<Or>
<Neq>
<FieldRef Name="Change_x0020_Approved" />
<Value Type="Text">Complete</Value>
</Neq>
<Neq>
<FieldRef Name="Change_x0020_Approved" />
<Value Type="Text">Rejected</Value>
</Neq>
</Or>
</And>
</And>
</Where>
</Query>
答案 0 :(得分:0)
看起来以下CAML可以满足我的需求。有趣的是,我没有使用OR运算符,但它有效。
<Where>
<And>
<And>
<And>
<And>
<Contains>
<FieldRef Name='RequestType' />
<Value Type='Choice'>Modify</Value>
</Contains>
<Eq>
<FieldRef Name='DocID' />
<Value Type='Text'>555</Value>
</Eq>
</And>
<IsNotNull>
<FieldRef Name='Change_x0020_Approved' />
</IsNotNull>
</And>
<Neq>
<FieldRef Name='Change_x0020_Approved' />
<Value Type='Text'>Complete</Value>
</Neq>
</And>
<Neq>
<FieldRef Name='Change_x0020_Approved' />
<Value Type='Text'>Rejected</Value>
</Neq>
</And>
</Where>
答案 1 :(得分:0)
条件“A不是3或A不是4”对于A的所有值都是正确的,包括值3和4.我怀疑你的意思是“A不是3而A不是4”。