2013-09-10 2 views
1

Я хочу использовать этот SQL в отчете Dynamics CRM. Я не могу понять, как преобразовать его в Fetch-XML.Как я могу преобразовать этот T-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 не работает по этому случаю.

ответ

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 наборе данных, включая контакты с нулевым ParentCustomerIds, вы можете группировать в своем отчете, а не в запросе.

Смежные вопросы