如何将SQL查询传递给Microsoft.Crm.Sdk类查询?

时间:2018-05-09 09:30:50

标签: dynamics-crm

我有一个来自旧的Dynamics CRM 4.0的查询,需要在asp.net中为Dynamics 365(云)的数据编写一个新查询。我知道如何用asp.net选择一个表,但不知道如何使用" group"来创建更复杂逻辑的查询。和"从select"中选择。请指教并谢谢。

以下是我需要创建的查询:

select sub.new_paymentid from
(select t.New_paymentId,MONTH(t.New_TransactionDate) as    TransMonth,COUNT(1) as MonthCount                                        
from New_transaction t
inner join New_payment p on t.new_paymentid = p.New_paymentId
where t.New_Status = 4 and (p.New_PaymentStatus != '5' and p.New_PaymentStatus != '6' and p.New_PaymentStatus != '8' )
and (p.new_alreadyfollowup != 1 or p.new_alreadyfollowup is null)
and New_TransactionDate >= convert(nvarchar(5),YEAR(DATEADD(MONTH,-3,New_TransactionDate)))+'-' +convert(nvarchar(5),month(DATEADD(MONTH,-3,New_TransactionDate)))+'-1'
group by t.New_paymentId,MONTH(t.New_TransactionDate)
) sub 
where sub.MonthCount = 2                            
  group by sub.new_paymentid                             
  having COUNT(1) >= 3

1 个答案:

答案 0 :(得分:1)

不幸的是,您无法在单个CRM fetchxml或查询表达式中实现子查询概念。

相反,您可以首先使用fetchxml或查询表达式从CRM检索子查询结果集,即EntityCollection。然后使用LINQ或一些C#方式在代码中过滤/聚合它。

Read more