我正在寻找查询建议来收集以下数据。
表1 '案例' - 包含列:Id, Customer, Product, Reported Date
表2 '活动 - 包含列:Case Id, Date Created, Created By
可以有许多活动链接到同一个案例。我想做的是写一个查询来返回以下内容。
Case.Id, Case.Customer, Case.Product, Case.ReportedDate,
Activity.DateCreated, Activity.CreatedBy,
datediff(hour, Case.ReportedDate, Activity.DateCreated)
仅,activity
最早的日期。基本上显示首次创建案例和创建第一个活动之间的时差。
我真的很感激有关如何完成这项工作的任何建议join
。我尝试了一些东西,但它结束了每个案例返回多行。非常感谢!
答案 0 :(得分:0)
试试这个......
SELECT C.ID
,C.Customer
,C.Product
,C.ReportedDate
,DATEDIFF(HOUR, C.ReportedDate, A.DateCreated) AS [TimePassed]
,A.CreatedBy
FROM [Case] C INNER JOIN
(SELECT *,
ROW_NUMBER() OVER (PARTITION BY CaseId ORDER BY DateCreated ASC) AS rn
FROM [Activity]) A
ON C.ID = A.CaseId
WHERE A.rn = 1