带有<in>运算符</in>的SPSiteDataQuery

时间:2013-11-28 14:46:22

标签: sharepoint sharepoint-2013 spquery

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

然而,只要我使用SPSiteDataQuery(我需要)它就会产生两个结果。 我意识到如果我不使用,而是(适用于只有一个值的情况(例如下面的示例)它可以工作,只返回一个结果。 我正在使用这篇关于使用CAML查询分类法字段的Microsoft文章所建议的运算符: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>

enter image description here

List Settings -> Columns

0 个答案:

没有答案