我使用CAML查询根据审批状态检索文档列表。请参阅下面的查询-我读到不允许在一个条件组(AND|OR(中放置两个以上的条件。因此,我只将2个OR条件组合在一起——这确实有效,但返回了不相关的结果(它还检索了审批状态为"无"的文档(。我尝试了很多方法,但都无法达到我想要的目的。
<Query>
<Where>
<Or>
<Or>
<eq>
<FieldRef Name="ppprovalType" />
<Value Type="Choice">Approve</Value>
</eq>
<eq>
<FieldRef Name="ApprovalType" />
<Value Type="Choice">Approve w/contingencies</Value>
</eq>
</Or>
<eq>
<FieldRef Name="ApprovalType" />
<Value Type="Choice">Change Needed</Value>
</eq>
</Or>
</Where>
</Query>
还使用"Neq"列出了剩余的状态,但也不起作用。
检索审批状态为"1"、"2"或"3"的文档的正确方法是什么?
根据我的测试,这对我有效:
<Query>
<Where>
<Or>
<Eq>
<FieldRef Name='ppprovalType' /><Value Type='Choice'>Approve</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='ApprovalType' /><Value Type='Choice'>Approve w/contingencies</Value>
</Eq>
<Eq>
<FieldRef Name='ApprovalType' /><Value Type='Choice'>Change Needed</Value>
</Eq>
</Or>
</Or>
</Where>
</Query>