1

我想在 Dynamics CRM 报表中使用此 SQL。我不知道如何将其转换为 Fetch-XML。

select p.ProductNumber "Plan Number",p.Name,p.price "Monthly Rate",count(*) "Group", '0' "Direct Debit"
from contact c,product p 
where c.integ_schemeid = p.ProductId
and c.ParentCustomerId is not null
group by p.ProductNumber,p.Name,p.price

union

select p.ProductNumber "Plan Number",p.Name,p.price "Monthly Rate", '0' "Group", count(*) "Direct Debit"
from contact c,product p 
where c.integ_schemeid = p.ProductId
and c.ParentCustomerId is null
group by p.ProductNumber,p.Name,p.price

http://www.sql2fetchxml.com在这种情况下失败。

4

1 回答 1

0

您无法将该查询转换为 FetchXML,因为不支持联合。如果可能,您需要做的是考虑将查询合并为 1。即使这意味着复制列并在报告中使用条件语句来显示相关数据。例如,如果您将查询简化为:

select p.ProductNumber "Plan Number", p.Name, p.price, c.ParentCustomerId
from product p 
inner join contact c on c.integ_schemeid = p.ProductId

这可以转换为以下 fetchxml:

<fetch mapping="logical">
  <entity name="product">
    <attribute name="ProductNumber" alias="Plan Number" />
    <attribute name="Name" />
    <attribute name="price" />
    <link-entity name="contact" to="ProductId" from="integ_schemeid" alias="c" link-type="inner">
      <attribute name="ParentCustomerId" />
    </link-entity>
  </entity>
</fetch>

然后,因为您在 1 个数据集中拥有所有数据,包括具有 null ParentCustomerIds 的联系人,所以您可以在报表中而不是在查询中进行分组。

于 2013-09-10T10:27:17.130 回答