CAML查询具有多个值的查找字段

时间:2015-01-29 06:15:18

标签: sharepoint sharepoint-2010

具有多个值的查找字段的caml查询是什么?

到目前为止,我使用以下内容但没有成功(它只是抛出一个错误)。 我的查询专栏是:

Lookup
-------
2;3
2
3;4

<Contains><FieldRef Name="LookupColumn"/><Value Type="LookupMulti">2</Value></Contains>

该查询有什么问题??

3 个答案:

答案 0 :(得分:2)

SPQuery oQuery = new SPQuery();
oQuery.Query = "<Where><Eq><FieldRef Name=\"LookupColumn\" LookupId=\"TRUE\"/><Value Type=\"LookupMulti\">2</Value></Eq></Where>";

答案 1 :(得分:1)

将您的查询包含在Where子句/标记内。

<Where><Contains><FieldRef Name="LookupColumn"/><Value Type="LookupMulti">2</Value></Contains></Where>

答案 2 :(得分:0)

查找字段具有与之关联的ID和值,例如'2 | val' 如果您特别想要根据值获取值,那么您的查询应如下所示,

<Where><Eq><FieldRef Name="LookupColumn"/><Value Type="LookupMulti">val</Value></Eq></Where>

如果你想根据LookupId查询Lookup列,查询应该是,

<Where><Eq><FieldRef Name='MultiLookupFieldName' LookupId='TRUE'/><Value Type='LookupMulti'>" + id + "</Value></Eq></Where>

了解它们之间的区别 对于Lookup列<Eq><Contains>,请按照URl进行操作, https://naimmurati.wordpress.com/2013/12/03/multi-lookup-fields-in-caml-queries-eq-vs-contains/