我试图从包含“活动”的客户表中编写查询。每个活动存储在一行中,因此如果您调用联系人并发送电子邮件后,它将分为两行。基于特定条件的最大日期的返回记录
即
Contact Employee Date Method
Jack John 12/7/15 11:50 Email
Jack John 12/7/15 11:45 Email
Jill John 12/4/15 10:19 Call
Rick Amber 12/8/15 9:40 Call
Dave Sarah 12/10/15 17:10 Email
Dave Sarah 12/10/15 17:15 Call
Dave Sarah 12/10/15 17:20 Email
我想回到最近的记录呼叫,如果没有呼叫,那么最近的电子邮件。
所以输出将返回这样的:
Contact Employee Date Method
Jack John 12/7/15 11:50 Email
Jill John 12/4/15 10:19 Call
Rick Amber 12/8/15 9:40 Call
Dave Sarah 12/10/15 17:15 Call
这是我写的当前查询:
select FA.ContactID,
FA.Employee as [ContactedBy],
FA.CreatedDate as [ContactedDate],
case when max(FA.CreatedDate) and FA.PrincipalCall = 1 then 'Call'
when max(FA.CreatedDate) and FA.PrincipalCall = 0 and FA.InboundEmail = 1 then 'Call & Email'
end as [ContactMethod]
from WorkingData.dbo.FactActivities FA
where FA.CreatedDate >= CAST('12-04-2015' as date)
and (FA.PrincipalCall = 1 or FA.InboundEmail = 1)
任何想法吗?
这个作品非常漂亮,谢谢! – FBeveridge