Поделиться через


Элемент And (Query)

Дата последнего изменения: 9 марта 2015 г.

Применимо к: SharePoint Foundation 2010

В этой статье
Атрибуты
Дочерние элементы
Родительские элементы
Вхождения

Используется в элементе Where для группировки фильтров в запросе для представления.

<And>
</And>

Атрибуты

Атрибут

Описание

Нет

Отсутствует

Дочерние элементы

And, BeginsWith, Contains, DateRangesOverlap, Eq, Geq, Gt, In, Includes, IsNotNull, IsNull, Leq, Lt, Membership, Neq, NotIncludes, Or

Родительские элементы

And, Or, Where

Вхождения

Минимум: 0

Максимум: без ограничений

Примечания

Этот элемент можно вкладывать в другие элементы And и Or. Сервер поддерживает неограниченную сложность запросов. Однако любой заданный элемент And может иметь только два операнда, то есть только два дочерних элемента. Если требуется выполнить конъюнкцию трех или более условий, логика вложения элементов And должна следовать показанной в третьем примере следующего раздела.

Пример

В следующем примере осуществляется передача критериев для запроса в поле "ИД_продукта": (ProductID = J1539 AND ProductID = J9862) AND (ProductID = J0394 OR ProductID = J4589).

<And>
  <And>
    <Eq>
      <FieldRef Name="ProductID"/>
      <Value Type="Text">J1539</Value>
    </Eq>
    <Eq>
      <FieldRef Name="ProductID"/>
      <Value Type="Text">J9862</Value>
    </Eq>
  </And>
  <Or>
    <Eq>
      <FieldRef Name="ProductID"/>
      <Value Type="Text">J0394</Value>
    </Eq>
    <Eq>
      <FieldRef Name="ProductID"/>
      <Value Type="Text">J4589</Value>
    </Eq>
  </Or>
</And>

В следующем примере описано выполнение запроса для случаев, когда значения в поле Status отличаются от "Completed", а значения в поле Sent равны null. Возвращенные записи сортируются по убыванию в соответствии со значениями поля Modified.

<Query>
  <OrderBy>
    <FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
  </OrderBy>
  <Where>
    <And>
      <Neq>
        <FieldRef Name="Status"></FieldRef>
        <Value Type="Text">Completed</Value>
      </Neq>
      <IsNull>
        <FieldRef Name="Sent"></FieldRef>
      </IsNull>
    </And>
  </Where>
</Query>

Следующий пример показывает, как выполнить конъюнкцию трех условий. Обратите внимание, что первая пара условий находится внутри собственного элемента And, который сам является условием другого элемента And.

<Where>
  <And>
    <And>
      <Eq><FieldRef Name="LastName" />
        <Value Type="Text">Bagel</Value>
      </Eq>
      <Eq><FieldRef Name="FirstName" />
        <Value Type="Text">Jean</Value>
      </Eq>
    </And>
    <Includes>
      <FieldRef Name="Title" /><Value Type="Text">President</Value>
    </Includes>
  </And>
</Where>