我正在尝试使用过滤器运行CAML查询。我有一个场景,其中过滤器值可以为null,但它不会返回任何记录。我希望Business Area是可选的(如果可能的话)。例如,我有一个国家,业务范围为空白,查询应返回1条记录。
<Query>
<Where>
<And>
<Eq>
<FieldRef Name='Limit' />
<Value Type='Number'>5000</Value>
</Eq>
<And>
<Eq>
<FieldRef Name='Country' />
<Value Type='Choice'>Argentina</Value>
</Eq>
<Eq>
<FieldRef Name='BusinessArea' />
<Value Type='Lookup'>Sales</Value>
</Eq>
</And>
</And>
</Where>
</Query>
答案 0 :(得分:0)
我在CAML中添加了一个OR。以下CAML工作
<Where>
<And>
<Eq>
<FieldRef Name='Limit' />
<Value Type='Number'>5000</Value>
</Eq>
<And>
<Eq>
<FieldRef Name='Country' />
<Value Type='Choice'>South Africa</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='BusinessArea' />
<Value Type='Lookup'></Value>
</Eq>
<IsNull>
<FieldRef Name='BusinessArea' />
</IsNull>
</Or>
</And>
</And>
</Where>