Skip to content

Nested AND & OR in CAML Query

August 12, 2020

var web = clientContext.get_web();
var oList = clientContext.get_web().get_lists().getByTitle(‘List Display Name’);          clientContext.load(oList);                                                                                                                  var camlQuery = new SP.CamlQuery();

query =                                                                                                                                                      “<View Scope=’RecursiveAll’>
<Query>
<OrderBy>
<FieldRef Name=’WeekdayNumber’ Ascending=’TRUE’ />
</OrderBy>
<GroupBy Collapse=’TRUE’ GroupLimit=’100′>
<FieldRef Name=’WeekdayNumber’ />
<FieldRef Name=’Type’ />
</GroupBy>
<Where>
<Or>
<And>                                                                                                                                                        <Neq>                                                                                                                                                        <FieldRef Name =’PriorityType’/>                                                                                                      <Value Type=’Choice’>DropdownValue1</Value>                                                                            </Neq>                                                                                                                                                      <And>
<Contains>
<FieldRef Name =’DisplayCalendars’/>
<Value Type=’Text’>Weekly Calendar(CheckboxValue)</Value>
</Contains>
<And>
<Eq>
<FieldRef Name =’IsDarkDelivery’/>
<Value Type=’Choice’>No</Value>
</Eq>
<And>
<Geq>
<FieldRef Name=’DeliveryDate’/>
<Value Type=’DateTime’ IncludeTimeValue=’FALSE’>” + firstDayOfWeek + “</Value>
</Geq>
<Lt>
<FieldRef Name=’DeliveryDate’/>
<Value Type=’DateTime’ IncludeTimeValue=’FALSE’>” + lastDayOfWeek + “</Value>
</Lt>
</And>
</And>
</And>
</And>
<And>
<Contains>
<FieldRef Name =’DisplayCalendars’/>
<Value Type=’Text’>WeeklyCalendar</Value>
</Contains>
<And>
<Eq>
<FieldRef Name=’DeliveryDate’ />
<Value Type=’DateTime’ IncludeTimeValue=’FALSE’><Today/></Value>
</Eq>
<Eq>
<FieldRef Name =’IsDarkDelivery’/>
<Value Type=’Text’>Yes</Value>
</Eq>
</And>
</And>
</Or></Where></Query></View>”;

camlQuery.set_viewXml(query);

this.collListItem = oList.getItems(camlQuery);

clientContext.load(collListItem);

clientContext.executeQueryAsync(onQuerySucceeded, onQueryFailed)

}

Advertisement

From → CAML Query

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: