我正在尝试使用过滤器运行CAML查询。我有可以将过滤器值null的场景,但是它不会返回任何记录。我希望业务领域是可选的(如果可能的话)。例如,我有一个业务区域空白的国家,查询应返回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>
我添加了一个或在caml中添加。以下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>