我具有以下结构
日期列也包含小时。我需要在相同的案例编号上计算开始时间和日期之间的时间。
如果案例1有2个子案例,我需要计算从第一个案例的开始日期到第二个案例的结束日期,并将其作为“实际固定时间”添加到另一列。
事情可能有2个,10个或20个或更多子案例。
有什么想法吗?
答案 0 :(得分:0)
SELECT DATEDIFF(hour, MIN(start_date), MAX(end_date)) as ActualFixedTime FROM YourTable GROUP BY Casenumber
这将为您提供每种情况的实际固定时间。为了在子案例的每一行中显示此结果,请在选择表时对其进行联接:
SELECT YourTable.*, FixedTimes.ActualFixedTime
FROM YourTable
INNER JOIN (SELECT Casenumber,
DATEDIFF(hour, MIN(start_date), MAX(end_date)) AS ActualFixedTime
FROM YourTable
GROUP BY Casenumber)
AS FixedTimes
ON YourTable.Casenumber = FixedTimes.Casenumber