我正在尝试使用以下查询查询 SharePoint 列表:
<Where>
<Or>
<In>
<FieldRef Name='col1' />
<Values><Value Type='Integer'>1</Value></Values>
</In>
<In>
<FieldRef Name='col2' />
<Values><Value Type='Integer'>1</Value></Values>
</In>
</Or>
</Where>
两者都是分类字段。问题是我没有得到任何结果。当只使用其中一个条件时,我会得到结果,但是当将它们与"Or"结合使用时,我没有得到任何结果。我做错了什么?
编辑:我正在使用SharePoint 2013,我也尝试添加LookupId = "TRUE"
我最终通过使用术语 id 查询了分类字段的隐藏文本字段:
<Where>
<Or>
<Contains><FieldRef Name='kf7aa880952e4699a9693b8b7379c884'/><Value Type='Text'>40e7b1fd-3892-4311-8428-6dbe77fc4ad7</Value></Contains>
<Contains><FieldRef Name='le11567cdf314372b377761db5f67b84'/><Value Type='Text'>40e7b1fd-3892-4311-8428-6dbe77fc4ad7</Value></Contains>
</Or>
</Where>
尝试这样的事情
<FieldRef LookupId='TRUE' Name='MyTaxonomyField' />
<Values>
<Value Type='Integer'>4</Value>
</Values>
我建议使用 CAML 构建器来构建您的查询。
尝试以下操作
<Where>
<Or>
<In>
<FieldRef Name='col1' />
<Values><Value Type='Text'>TAxTextValue</Value></Values>
</In>
<In>
<FieldRef Name='col2' />
<Values><Value Type='Text'>TAxTextValue</Value></Values>
</In>
</Or>
</Where>
有人指出可能存在错误,但您尚未指出SP版本。
可能的错误
谢谢
特鲁兹