我有一个来自旧的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
答案 0 :(得分:1)
不幸的是,您无法在单个CRM fetchxml或查询表达式中实现子查询概念。
相反,您可以首先使用fetchxml或查询表达式从CRM检索子查询结果集,即EntityCollection。然后使用LINQ或一些C#方式在代码中过滤/聚合它。