SharePoint CAML 查询在使用 OR 和 IN 时不起作用



我正在尝试使用以下查询查询 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版本。

可能的错误

谢谢

特鲁兹

相关内容

  • 没有找到相关文章

最新更新