You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CAML Join查询SharePoint Online时无法获取父列表字段

SharePoint CAML Join查询无法获取父列表字段解决方法

问题说明

通过Web API + Power Automate HTTP请求查询SharePoint数据,使用CAML Join关联子列表Nomination Detail与父列表Nominations(子列表通过「Nomination」列关联父列表ID),尝试通过ProjectedFields获取父列表的NominationDate字段,但仅能返回子列表字段,父列表字段无法正常返回。

原请求脚本:

_api/web/lists/GetByTitle('Nomination Detail')/GetItems(query=@v1)?@v1=
{"ViewXml":"\n<View>\n    <ViewFields>\n        <FieldRef Name='ID'/>\n        <FieldRef Name='YearOfService'/>\n                <FieldRef Name='NominationDate'/>\n                <FieldRef Name='Nomination'/>\n    </ViewFields>\n    <Joins>\n        <Join Type='INNER' ListAlias='Nominations'>\n            <Eq>\n                <FieldRef Name='Nomination' RefType='Id'/>\n                <FieldRef Name='ID' List='Nominations'/>\n            </Eq>\n        </Join>\n    </Joins>\n<ProjectedFields>\n    <Field Name='NominationDate' Type='Lookup' List='Nominations' ShowField='NominationDate'/>\n</ProjectedFields>\n</View> \n"}

核心错误点

  1. Projected字段类型错误:父列表的NominationDate是日期类型,但原脚本中Type设为Lookup,需改为与父列表字段匹配的DateTime。
  2. 字段命名冲突:Projected字段名NominationDate与父列表原字段名重复,容易导致SharePoint识别混淆,需改为唯一名称(如ParentNominationDate)。
  3. ViewFields引用错误:ViewFields中未正确引用自定义的Projected字段名。

修正后的脚本

_api/web/lists/GetByTitle('Nomination Detail')/GetItems(query=@v1)?@v1=
{"ViewXml":"\n<View>\n    <ViewFields>\n        <FieldRef Name='ID'/>\n        <FieldRef Name='YearOfService'/>\n        <FieldRef Name='ParentNominationDate'/>\n        <FieldRef Name='Nomination'/>\n    </ViewFields>\n    <Joins>\n        <Join Type='INNER' ListAlias='Nominations'>\n            <Eq>\n                <FieldRef Name='Nomination' RefType='Id'/>\n                <FieldRef Name='ID' List='Nominations'/>\n            </Eq>\n        </Join>\n    </Joins>\n    <ProjectedFields>\n        <Field Name='ParentNominationDate' Type='DateTime' List='Nominations' ShowField='NominationDate'/>\n    </ProjectedFields>\n</View> \n"}

关键注意事项

  • Projected字段的Type必须与父列表目标字段的类型完全匹配(如文本对应Text、数字对应Number、日期对应DateTime)。
  • Projected字段名需唯一,避免与子列表、父列表的现有字段名重复。
  • ViewFields中必须明确引用自定义的Projected字段名,才能在返回结果中获取父列表的对应字段值。

内容的提问来源于stack exchange,提问作者Mr Peragin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 21:46:12