我想用lookuplulti字段的caml查询过滤Sharepoint列表,但我想过滤只有一个值的项目。例如,
ID LookupMultiField
1 - Value1,Value2,Value11
2 - Value1
3 - Value2,Value3,Value4
当我使用Eq statetement仅用于值" Value1"在我的查询结果中是ID为1和2的项目。但我只想获得ID为2的项目。这怎么可能?
答案 0 :(得分:1)
我认为在LookupMultiField上没有办法直接在CAML中执行此操作。
最简单的方法可能是使用Value1检索所有项目,然后在代码中进行其他过滤。
另一种方法是将LookupMultiField复制到文本字段(例如通过工作流),并对该文本字段进行过滤。
如果你只有很少的值,你也可以尝试否定你的过滤条件(提交NEQ Value2和NEQ value3和......)。
答案 1 :(得分:0)
您可以使用运营商"包含"像:
<Where>
<Contains>
<FieldRef Name="LookupMultiField" LookupId="True"/>
<Value Type="Text">1</Value>
</Contains>
</Where>
但你应该知道ID过滤元素