CAML查询 - 过滤可选

时间:2017-12-15 13:59:36

标签: xml sharepoint caml

我正在尝试使用过滤器运行CAML查询。我有一个场景,其中过滤器值可以为null,但它不会返回任何记录。我希望Business Area是可选的(如果可能的话)。例如,我有一个国家,业务范围为空白,查询应返回1条记录。

<Query>
   <Where>
      <And>
         <Eq>
            <FieldRef Name='Limit' />
            <Value Type='Number'>5000</Value>
         </Eq>
         <And>
            <Eq>
               <FieldRef Name='Country' />
               <Value Type='Choice'>Argentina</Value>
            </Eq>
            <Eq>
               <FieldRef Name='BusinessArea' />
               <Value Type='Lookup'>Sales</Value>
            </Eq>
         </And>
      </And>
   </Where>
</Query>

1 个答案:

答案 0 :(得分:0)

我在CAML中添加了一个OR。以下CAML工作

  <Where>
    <And>
      <Eq>
        <FieldRef Name='Limit' />
        <Value Type='Number'>5000</Value>
      </Eq>
      <And>
        <Eq>
          <FieldRef Name='Country' />
          <Value Type='Choice'>South Africa</Value>
        </Eq>
        <Or>
          <Eq>
            <FieldRef Name='BusinessArea' />
            <Value Type='Lookup'></Value>
          </Eq>
          <IsNull>
            <FieldRef Name='BusinessArea' />
          </IsNull>
        </Or>
      </And>
    </And>
  </Where>