如果ID是最低和最新和最差的两个记录之间的差异,我无法编写查询以获取UpdateDate和2条记录的CreationDate之间的差异最近UpdateDate。 这里是我的查询:如何在SQL Server中获取日期的差异
SELECT
a.ID, a.RequestID, b.KrStatus, b.CrDate , b.UpdateDate,
DATEDIFF (HOUR, b.CrDate, b.UpdateDate) AS TimeDifference,
CASE WHEN a.ID = (SELECT MAX(a.ID) FROM [dbo].[Krdocs_hist] a WHERE a.RequestID = 1)
THEN 'YES'
ELSE 'NO'
END AS isMax,
CASE WHEN a.ID = (SELECT MIN(a.ID) FROM [dbo].[Krdocs_hist] a WHERE a.RequestID = 1)
THEN 'YES'
ELSE 'NO'
END AS isMi
FROM [dbo].[Krdocs_hist] a, [dbo].Krdocs_Details_hist b
WHERE
a.RequestId = b.RequestId
and a.ID = b.ID
and a.RequestId = 1
ORDER BY b.RequestID
我想要做的就是最后可能记录,检查是否存在之前已经存在。如果没有比较UpdateDate和的crdate(UpdateDate负的crdate如果有这个,我想要做的UpdateDate减去前UpdateDate之前的纪录
使用此查询:。
SELECT b.Id, b.RequestId, b.UpdateDate, b.KrStatus
FROM [dbo].[Krdocs_Details_hist] b
WHERE b.RequestId = 1
而且使用此查询:
SELECT a.*
FROM [dbo].[Krdocs_hist] a
WHERE RequestId = 1
你能提供的样本数据和期望的结果? – zzT
你是什么意思的样本数据? 至于期望的结果,我需要得到一行: ID:39,RequestID:1,KrStatus:80,CrDate:2017.06.09和一个从做ROW 7减去ROW 6 UpdateDate值得到的值的列。 –
样本数据是指从中导出结果的原始表格数据(的一部分)。然后我们可以看到正在发生什么转变。 – ADyson