CAML 查询 return 所有行 ID 的到期日期小于完成日期

CAML Query to return all row ID's where Date expires is less then Date Completed

我需要一个针对 SP 的 CAML 查询,用于比较到期日期和完成日期以及 return 条件为真的所有行 ID。 然后我设置了一个计数,它将计算集合变量中的项目并将其设置为一个新变量,然后该变量用于更新状态页面。请帮助这几天,似乎无法弄清楚。以下是我目前无法使用的代码。下面的查询似乎将到期日期与当前项目完成日期进行比较我想查看每一行并分别比较它们,如果到期日期小于完成日期 return ID。谢谢你们的帮助。

 <Query>
   <Lists>
     <List ID="{my-list-id}" />
   </Lists>
   <ViewFields>
     <FieldRef Name="ID" />
   </ViewFields>
  <Where>
     <And>
       <And>
         <Eq>
           <FieldRef Name="Status"  />
           <Value Type="Choice">Closed</Value>
        </Eq>
        <Eq>
           <FieldRef Name="twoDigTskYr"  />
           <Value Type="Number">18</Value>
         </Eq>
       </And>
       <Gt>
         <FieldRef Name="DateExpires"  />
         <Value Type="DateTime">{ItemProperty:Date_x0020_Completed}</Value>
       </Gt>
     </And>
    </Where>
   <ViewAttributes Scope="Recursive" />
  </Query>

您不能使用 CAML 查询比较两个字段。一种解决方法是将计算字段添加到进行比较的列表中,因为您可以在 CAML 中对计算字段进行筛选。