CAML"不在"查询

deb*_*bug 7 sharepoint caml

有没有办法在SharePoint 2010中执行"NOT IN"行为?我可以像这样轻松实现IN行为:

<Where>
   <In>
      <FieldRef Name="ID"/>
      <Values>
         <Value Type="Counter">1</Value>
         <Value Type="Counter">2</Value>
         <Value Type="Counter">3</Value>
         <Value Type="Counter">4</Value>
         <Value Type="Counter">5</Value>
      </Values>
   </In>
</Where>
Run Code Online (Sandbox Code Playgroud)

但有没有办法选择所有值不在值列举?

这是USE CASE:我有一个带有AllowMultipleValues = true的Lookup字段,我需要从LookupList获取所有项目,这些项目不包含在Lookup字段中

提前致谢!

Eri*_*itz 0

我认为 Not equal 选项是构建此 CAML 查询的最佳方式

也许是这样(没有测试过,所以请耐心等待)

<Query>
   <Where>
     <And>
       <Neq>
          <FieldRef Name="ID" /><Value Type="Counter">1</Value>
       </Neq>
       <Neq>
          <FieldRef Name="ID" /><Value Type="Counter">2</Value>
       </Neq>
       <Neq>
          <FieldRef Name="ID" /><Value Type="Counter">3</Value>
       </Neq>
     </And>
   </Where>
</Query>
Run Code Online (Sandbox Code Playgroud)

您应该查看可用的比较运算符

  • 包含
  • 开始于
  • 等式,等于
  • Neq,不等于
  • Gt,大于
  • Lt,小于
  • Geq,大于或等于
  • Leq,小于或等于
  • DateRangesOverlap,将重复事件中的日期与指定值进行比较
  • 不为空
  • 一片空白

  • 我认为 CAML 无效 - AND IIRC 下您不能有超过 2 个孩子。 (4认同)