You are here: OnePlaceLive Services > Solution Profiles service > Location items > Writing CAML Queries / Examples

Writing CAML Queries / Examples

Further to the convenience of creating and selecting a view from the central register list to extract a CAML query, at times you may want to write your own query to take advantage of constructs not available via a view.

The Membership tag in CAML query allows you to filter list items based on membership within

a group.

This can be combined with an OR to cater for both individual names and group names.

See the examples below

Person/Group Column Example CAML Queries

Where current user is in a single values Person/Groups column

<Where>

<Eq>

<FieldRef Name='Project_x0020_Manager'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Eq>

</Where>

 

Where current user is a member of a groups that is listed in a person/groups column

(that allows single or multiple values)

<Where>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

</Where>

Where current user may be named explicitly or may be a member of a group listed in a person/groups column

(that allows single or multiple values)

<Where>

<Or>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

<Includes>

<FieldRef Name='Project_x0020_Team'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Includes>

</Or>

</Where>

 

Where the Project Status (choice type) column has a status of "Open"

AND

Where current user may be named explicitly or may be a member of a group listed in the

"Project Team" person/groups column (that allows single or multiple values)

OR

Where current user is explicitly named in the single value

"Project Manager" Person/Groups column

 

<Where>

<And>

<Eq>

<FieldRef Name='Project_x0020_Status' />

<Value Type='Choice'>Open</Value>

</Eq>

<Or>

<Eq>

<FieldRef Name='Project_x0020_Manager' />

<Value Type='Integer'>

<UserID Type='Integer' />

</Value>

</Eq>

<Or>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

<Includes>

<FieldRef Name='Project_x0020_Team'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Includes>

</Or>

</Or>

</And>

</Where>