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

CAML Query for lookup field with multi values

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

到目前为止,我使用以下方法没有成功(它只是抛出一个错误)。 我的查找列是:

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

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

该查询有什么问题??

在 Where clause/tag.

中包含您的查询
<Where><Contains><FieldRef Name="LookupColumn"/><Value Type="LookupMulti">2</Value></Contains></Where>
SPQuery oQuery = new SPQuery();
oQuery.Query = "<Where><Eq><FieldRef Name=\"LookupColumn\" LookupId=\"TRUE\"/><Value Type=\"LookupMulti\">2</Value></Eq></Where>";

查找字段具有与之关联的 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>

了解两者的区别 <Eq><Contains> partically for Lookup column, follow the URl, https://naimmurati.wordpress.com/2013/12/03/multi-lookup-fields-in-caml-queries-eq-vs-contains/