我有两张桌子,一张用于与客户交谈的时间,另一张用于与客户进行购买的时间,但是我不知道如何将最接近的购买与特定的同事联系起来
例如
表1-同事互动
*****apple
apple*****
表2-购买清单
[ColleagueID] [DateOfInteraction] [CustomerID]
------------------------------------------------
A 2018-11-22 12:00 123
B 2018-11-22 12:02 123
我上面要做的是将这两个记录绑定在一起,最初我在CustomerID上执行此操作,但这显然会产生重复,因为customerID在表2和表1中出现两次。其中DateOfInteraction 结果应该像[PurchaseID] [DateOfPurchase] [PurchaseOutcome] [CustomerID]
----------------------------------------------------------------
1 2018-11-22 12:01 FAIL 123
2 2018-11-22 12:03 SUCCESS 123
答案 0 :(得分:1)
我认为apply
是您想要的:
select p.*, i.*
from purchases p outer apply
(select top (1) i.*
from interactions i
where i.customer_id = p.customer_id and
i.DateOfInteraction < p.DateOfPurhase
order by i.DateOfInteraction desc
) i;