【问题标题】:FetchXML filter - compare attributes of two different entities?FetchXML 过滤器 - 比较两个不同实体的属性?
【发布时间】:2016-05-30 19:29:57
【问题描述】:

我正在尝试构建一个与以下 SQL 查询相同的 FetchXML 查询。基本上,如果约会上的自定义属性“dev_ownercommunityid”等于机会的 ownerid 属性,则输出机会名称和链接约会的主题。

select top 10 o.[name], apt.[subject]
from Opportunity o with (nolock)
left join Appointment apt with (nolock)
on o.opportunityid = apt.regardingobjectid
where apt.dev_ownercommunityid = o.ownerid  
/* dev_ownercommunityid is a custom attribute we added to appointment entity */

我可以轻松地进行外部连接,但我不知道如何进行“位置”部分。

请帮忙。我正在使用 Dynamics CRM 2013。

【问题讨论】:

    标签: dynamics-crm fetchxml


    【解决方案1】:

    很遗憾,这是不可能的。您不能直接比较两列。比较的一方面必须是一个常数值。详情请见https://www.kingswaysoft.com/blog/2013/06/18/Limitations-with-CRM-FetchXML

    【讨论】:

    • Ondrej,我认为您是正确的,但是,虽然您的参考将这个问题作为第 2 点解决,但我不会认为它是一个确定的来源(因为可能会考虑 Microsoft 文档)和相关的免费 SQL -to-FetchXML 工具虽然有用,但存在一些超出当前列出的错误和限制(例如,缺乏对括号的支持,无法翻译来自 docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/… 的 Microsoft 的 FetchXML 示例 SQL)。
    • "...相关的免费 SQL-to-FetchXML 工具..." 为 sql2fetchxml.com .
    【解决方案2】:

    在最新版本(2020 年 7 月)中,该功能可用于使用 valueof 标签比较 fetchxml 中同一实体的两个属性,也可以使用 SDK 和 web api。 Read more

    <fetch>
      <entity name='contact' >
        <attribute name='firstname' />
        <filter>
          <condition attribute='firstname' operator='eq' valueof='lastname'/>
        </filter>
      </entity>
    </fetch>
    

    在不久的将来,我们可能会选择在两个实体属性之间进行比较。仔细查看上述文档。

    到那时,我们必须在单独的查询中获取相关的实体属性值,并将其作为参数过滤器传递给主查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多