0

首先...查询有效。使用 SPQuery 可以。该查询只产生一个结果(如预期的那样!)。

但是,一旦我使用 SPSiteDataQuery(并且我需要),它就会产生两个结果。我意识到如果我不使用而是(在只有一个值的情况下工作(例如在下面的示例中)它可以工作并且只返回一个结果。我正在使用此 Microsoft 关于查询分类的文章所建议的运算符带有 CAML 的字段:http: //msdn.microsoft.com/en-us/library/ff625182 (v=office.14).aspx

如果返回两条记录,则第一条包含注释字段(根据需要),第二条不包含。所有其他列都是相同的。因此,我从视域选择中省略了该注释字段 - étvoilà: 1 结果(不幸的是,我真的需要该注释字段的内容!)。

<Where>
<And>
  <Eq>
    <FieldRef ID='c042a256-787d-4a6f-8a8a-cf6ab767f12d' /> <!-- content type name -->
    <Value Type='Text'>Standard Teaser</Value>
  </Eq>
  <And>
    <And>
      <Or>
        <Gt>
          <FieldRef ID='51d39414-03dc-4bd0-b777-d3e20cb350f7' /> <!-- publishing exp -->
          <Value Type='DateTime'>
            <Today/>
          </Value>
        </Gt>
        <IsNull>
          <FieldRef ID='51d39414-03dc-4bd0-b777-d3e20cb350f7' />
        </IsNull>
      </Or>
      <Or>
        <Leq>
          <FieldRef ID='a990e64f-faa3-49c1-aafa-885fda79de62' /> <!-- publishing start -->
          <Value Type='DateTime'>
            <Today />
          </Value>
        </Leq>
        <IsNull>
          <FieldRef ID='a990e64f-faa3-49c1-aafa-885fda79de62' />
        </IsNull>
      </Or>
    </And>
    <In>
      <!-- taxonomy field -->
      <FieldRef ID='CAFEF21A-D977-44F8-96E4-6F6DA6F90A59' LookupId='TRUE' />
      <Values>
        <Value Type='Integer'>2</Value>
      </Values>
    </In>
  </And>
</And>
</Where>

在此处输入图像描述

列表设置 -> 列

4

0 回答 0