我正在寻找查询建议,以收集有关以下方面的数据。
表1 “案例”-包含各列:Id, Customer, Product, Reported Date
Id, Customer, Product, Reported Date
表2 ‘活动-包含各列:Case Id, Date Created, Created By
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与 最早的日期 。基本上显示了从首次创建案例到创建第一个活动之间的 时间差 。
activity
我非常感谢有关如何完成此工作的任何建议join。我尝试了一些尝试,但最终每种情况下返回多行。非常感谢!
join
试试这个…
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