Нужна помощь в построении CAML Query - PullRequest
0 голосов
/ 10 марта 2011

У меня есть эта таблица

    Col1  | Col2  | Col3
 1  MeYou | You   | Them
 2  Them  | They  | You
 3  Them  | Me    | They
 4  They  | Us    | We
 5  Us    | Them  | MeAsk

Я хотел бы сделать эти запросы

Select all rows from MyTable 
Where Col1 contains 'Me' or Col2 contains 'Me' or Col3 contains 'Me'

Select all rows from MyTable 
Where (Col1 contains 'Me' or Col3 contains 'Me') and Col2 equals to 'Them'

Исходя из показанной таблицы и использования условия, которое я хотел в своем запросе, запрос 1 должен получить 3 строки взамен. Возвращаемые строки должны быть row1, row3 и row5. Запрос 2 должен получить только 1 строку взамен, то есть row5.

У меня вопрос, как я собираюсь составить этот вид запроса в CAML-запросе для моих приложений sharepoint?

Заранее спасибо:)

1 Ответ

1 голос
/ 10 марта 2011

Первый запрос

<Where>
  <Or>
     <Contains>
        <FieldRef Name='Col1' />
        <Value Type='User'>22</Value>
     </Contains>
     <Or>
        <Contains>
           <FieldRef Name='Col2' />
           <Value Type='User'>22</Value>
        </Contains>
        <Contains>
           <FieldRef Name='Col3' />
           <Value Type='User'>22</Value>
        </Contains>
     </Or>
  </Or>
</Where>

второй запрос

<Where>
    <Or>
        <Contains>
            <FieldRef Name="Col1" /> 
            <Value Type="User">22</Value>
        </Contains>
        <And>
            <Contains>
                <FieldRef Name="Col2" /> 
                <Value Type="User">23</Value>
            </Contains>
            <Contains>
                <FieldRef Name="Col3" /> 
                <Value Type="User">22</Value>
            </Contains>
        </And>
    </Or>
</Where>
...