使用多个运算符(“少数和”或“状态”字段)的 XML 查询



我需要获取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>

看起来以下 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>
条件"A 不是 3

或 A 不是 4"对于 A 的所有值都成立,包括值 3 和 4。我怀疑你的意思是"A 不是 3,A 不是 4"。

相关内容

  • 没有找到相关文章

最新更新